DEV Community

David Goyes
David Goyes

Posted on

Swift #5: Caracteres y Strings

Character

Un caracter viene dado por un número binario, que representa el índice de un elemento en la tabla "Unicode" que define los caracteres del sistema.

let letra: Character = "A"
Enter fullscreen mode Exit fullscreen mode

Se puede desplegar la biblioteca de emojis con el short-cut Control+Command+Space.

String

Un String es una secuencia de datos de tipo Character. Un String puede ser reemplazado por otro de longitud diferente, concatenar otro String con el operador +, o modificar una parte de este.

let palabra: String = "Hola"
let oracion = "Hola " + "mundo"
Enter fullscreen mode Exit fullscreen mode

Interpolación

Para concatenar un String con un valor de otro tipo, se puede usar interpolación.

let manos = 2
let mensaje = "Tengo \(manos) manos" // Tengo 2 manos
Enter fullscreen mode Exit fullscreen mode

Secuencias de escape

Algunos caracteres son usados en la construcción de un String (") o en la interpolación de un valor (\). Por esta razón, si se quiere usar estos caracteres como parte del mensaje (junto con otros caracteres más), se debe usar una secuencia de escape como las siguientes:

  • \\: Barra invertida literal \
  • \": Comilla doble literal "
  • \t: Tabulación (tab)
  • \n: Nueva línea (line feed)
  • \r: Retorno de carro (carriage return)
  • \0: Caracter nulo (null character)
  • \u{...}: Caracter Unicode arbitrario.

String crudo (Raw string)

Un raw string (cadena “cruda”) es una forma de escribir Strings sin necesidad de escapar los caracteres especiales como \ o ". Esta es su sintaxis: #"texto literal"#, donde las comillas más externas están envueltas entre signos #.

  • Si quiero usar un # dentro del String, debo envolver las comillas con ## (e.g. ##"...#..."##).
  • Si quiero una secuencia de escape dentro del Raw String debo usar \# en lugar de \. (e.g. #"Línea nueva: \#n"# produce un salto de línea).
  • Para interpolar valores debo usar tantos # como haya puesto al inicio/fin del String: (e.g. ##"Hola \##(nombre)"##).

String multilínea

Tenemos dos opciones:

  1. Usar la secuencia de escape \n.
  2. Envolver el String con tres comillas dobles: """.

Top comments (0)