Buscar..


Elementos de cuerda

Los elementos de cadena son caracteres a los que se puede acceder mediante la string[index] operación de indexación string[index] .

val str = "Hello, World!"
println(str[1]) // Prints e

Los elementos de cadena se pueden iterar con un bucle for.

for (c in str) {
    println(c)
}

Literales de cuerda

Kotlin tiene dos tipos de literales de cadena:

  • Cuerda escapada
  • Cuerda cruda

Cadena escapada maneja caracteres especiales al escapar de ellos. El escape se hace con una barra invertida. Se admiten las siguientes secuencias de escape: \t , \b , \n , \r , \' , \" , \\ y \$ . Para codificar cualquier otro carácter, use la sintaxis de secuencia de escape de Unicode: \uFF00 .

val s = "Hello, world!\n"

La cadena sin formato delimitada por una comilla triple """ no contiene escapes y puede contener nuevas líneas y cualquier otro carácter

val text = """
    for (c in "foo")
        print(c)
"""

Los espacios en blanco iniciales se pueden eliminar con la función trimMargin () .

val text = """
    |Tell me and I forget.
    |Teach me and I remember.
    |Involve me and I learn.
    |(Benjamin Franklin)
    """.trimMargin()

El prefijo de margen predeterminado es carácter de canalización | , esto se puede establecer como un parámetro para trimMargin; por ejemplo, trimMargin(">") .

Plantillas de cadena

Tanto las cadenas de escape como las cadenas sin formato pueden contener expresiones de plantilla. La expresión de plantilla es un fragmento de código que se evalúa y su resultado se concatena en una cadena. Comienza con un signo de dólar $ y consta de un nombre variable:

val i = 10
val s = "i = $i" // evaluates to "i = 10"

O una expresión arbitraria entre llaves:

val s = "abc"
val str = "$s.length is ${s.length}" // evaluates to "abc.length is 3"

Para incluir un signo de dólar literal en una cadena, escápelo con una barra invertida:

val str = "\$foo" // evaluates to "$foo"

La excepción son las cadenas sin formato, que no admiten el escape. En cadenas sin formato, puede utilizar la siguiente sintaxis para representar un signo de dólar.

val price = """
${'$'}9.99
"""

Igualdad de cuerdas

En Kotlin, las cuerdas se comparan con el operador == que las selecciona para su igualdad estructural.

val str1 = "Hello, World!"
val str2 = "Hello," + " World!"
println(str1 == str2) // Prints true

La igualdad referencial se verifica con el operador === .

val str1 = """
    |Hello, World!
    """.trimMargin()

val str2 = """
    #Hello, World!
    """.trimMargin("#")

val str3 = str1

println(str1 == str2) // Prints true
println(str1 === str2) // Prints false
println(str1 === str3) // Prints true


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow