Kotlin
Instrumentos de cuerda
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