¿Cómo concatenar una cadena en Swift?
En Objective-C
nos gusta
NSString *string = @"Swift";
NSString *resultStr = [string stringByAppendingString:@" is a new Programming Language"];
o
NSString *resultStr=[NSString stringWithFormat:@"%@ is a new Programming Language",string];
Pero quiero hacer esto en lenguaje rápido.
string
swift
concat
string-concatenation
Rajneesh071
fuente
fuente
Respuestas:
Puede concatenar cadenas de varias maneras:
También puedes hacer:
Estoy seguro de que también hay más formas.
Poco de descripción
let
crea una constante (algo así como unNSString
). No puede cambiar su valor una vez que lo haya configurado. Sin embargo, aún puede agregarlo a otras cosas y crear nuevas variables.var
crea una variable (algo así comoNSMutableString
) para que pueda cambiar el valor de la misma. Pero esto ha sido respondido varias veces en Stack Overflow, (vea la diferencia entre let y var ).Nota
En realidad
let
yvar
son muy diferentes deNSString
yNSMutableString
pero ayuda a la analogía.fuente
let
crea una constante (algo así como un NSString). No puede cambiar su valor una vez que lo haya configurado. Sin embargo, aún puede agregarlo a otras cosas y crear nuevas variables.var
crear una variable (algo así como NSMutableString) para que pueda cambiar el valor de la misma. Pero esto ha sido respondido varias veces en SO. Buscadifference between let and var
Puede agregar una cadena de estas maneras:
str += ""
str = str + ""
str = str + str2
str = "" + ""
str = "\(variable)"
str = str + "\(variable)"
Creo que los nombré a todos.
fuente
fuente
Esto también funcionará:
fuente
\ esto se está utilizando para agregar una cadena a otra cadena.
Puede probar esto también: - + palabra clave.
Prueba este código.
fuente
fuente
Muy simple:
fuente
let ResultString = "\(StringA)\(StringB)"
Ahora puede usar stringByAppendingString en Swift.
fuente
Xcode no aceptó cadenas opcionales agregadas con una cadena normal. Escribí estas extensiones para resolver ese problema:
Entonces puedes llamarlo así:
Sin embargo, ahora también podría hacer algo como esto:
fuente
Se llama como interpolación de cadenas. Es una forma de crear NUEVA cadena con CONSTANTES, VARIABLES, LITERALES y EXPRESIONES. por ejemplo:
además
también significa concatenar valores de cadena.
Espero que esto te ayude.
fuente
Para imprimir la cadena combinada usando
o String3 almacena la salida de la combinación de 2 cadenas
fuente
También se puede usar stringByAppendingFormat en Swift.
fuente
Swift 4.2
También puedes usar una extensión:
Utilizar:
Resultado:
fuente
De: Matt Neuburg Libro "Fundamentos de programación iOS 13 con Swift". :
Para combinar (concatenar) dos cadenas, el enfoque más simple es usar el operador + :
Esta conveniente notación es posible porque el operador + está sobrecargado: hace una cosa cuando los operandos son números (suma numérica) y otra cuando los operandos son cadenas (concatenación). El operador + viene con un atajo de asignación + = ; naturalmente, la variable en el lado izquierdo debe haberse declarado con var:
Como alternativa a + = , puede llamar al método de instancia append (_ :) :
Otra forma de concatenar cadenas es con el método unido (separador :) . Comienza con una serie de cadenas que se concatenan y le entrega la cadena que se insertará entre todas:
fuente
Puede usar SwiftString ( https://github.com/amayne/SwiftString ) para hacer esto.
DESCARGO DE RESPONSABILIDAD: escribí esta extensión
fuente
Acabo de cambiar de Objective-C a Swift (4), y encuentro que a menudo uso:
fuente
En Swift 5, Apple presenta Raw Strings usando # símbolos.
Ejemplo:
el símbolo # es necesario después de \. Un \ (nombre) regular se interpretará como caracteres en la cadena.
fuente
Swift 5
Puedes lograrlo usando
appending
API. Esto devuelve una nueva cadena hecha agregando una cadena dada al receptor.Detalles de la API: aquí
Uso :
Resultado :
fuente