¿Cómo concateno cadenas en Swift?

Cómo concatenar cadena en Swift?

En Objective-C nos gusta

 NSString *string = @"Swift"; NSString *resultStr = [string stringByAppendingString:@" is new Programming Language"]; 

o

 NSString *resultStr=[NSString stringWithFormat:@"%@ is new Programming Language",string]; 

Pero quiero hacer esto en Swift-language.

    Puede concatenar cadenas de varias maneras:

     let a = "Hello" let b = "World" let first = a + ", " + b let second = "\(a), \(b)" 

    También podrías hacer:

     var c = "Hello" c += ", World" 

    Estoy seguro de que hay más formas también.

    Un poco de descripción

    let crea una constante. (algo así como un NSString ). No puede cambiar su valor una vez que lo haya configurado. Todavía puede agregarlo a otras cosas y crear nuevas variables.

    var crea una variable. (algo así como NSMutableString ) 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 y var son muy diferentes de NSString y NSMutableString pero ayudan a la analogía.

    Puede agregar una cadena de estas maneras:

    • str += ""
    • str = str + ""
    • str = str + str2
    • str = "" + ""
    • str = "\(variable)"
    • str = str + "\(variable)"

    Creo que los llamé a todos.

     var language = "Swift" var resultStr = "\(language) is new Programming Language" 

    Esto también funcionará:

     var string = "swift" var resultStr = string + " is a new Programming Language" 

    \ esto se está utilizando para agregar una cadena a otra cadena.

     var first = "Hi" var combineStr = "\(first) Start develop app for swift" 

    Puede probar esto también: – + palabra clave.

      var first = "Hi" var combineStr = "+(first) Start develop app for swift" 

    Prueba este código

     let the_string = "Swift" let resultString = "\(the_string) is a new Programming Language" 

    Muy simple:

     let StringA = "Hello" let StringB = "World" let ResultString = "\(StringA)\(StringB)" println("Concatenated result = \(ResultString)") 

    Ahora puede usar stringByAppendingString en Swift.

     var string = "Swift" var resultString = string.stringByAppendingString(" is new Programming Language") 

    XCode no aceptó cadenas opcionales añadidas con una cadena normal. Escribí estas extensiones para resolver ese problema:

     extension String { mutating func addString(str: String) { self = self + str } } 

    Entonces puedes llamarlo así:

     var str1: String? var str1 = "hi" var str2 = " my name is" str1.addString(str2) println(str1) //hi my name is 

    Sin embargo, ahora también puedes hacer algo como esto:

     var str1: String? var str1 = "hi" var str2 = " my name is" str1! += str2 

    Se llama Interpolación de cadenas. Es una forma de crear NUEVA cadena con CONSTANTES, VARIABLES, LITERALES y EXPRESIONES. por ejemplo:

      let price = 3 let staringValue = "The price of \(price) mangoes is equal to \(price*price) " 

    además

     let string1 = "anil" let string2 = "gupta" let fullName = string1 + string2 // fullName is equal to "anilgupta" or let fullName = "\(string1)\(string2)" // fullName is equal to "anilgupta" 

    también significa valores de cadena concatenados.

    Espero que esto te ayude.

    Para imprimir la cadena combinada usando

     Println("\(string1)\(string2)") 

    o String3 almacena la salida de la combinación de 2 cuerdas

     let strin3 = "\(string1)\(string2)" 

    También se puede usar stringByAppendingFormat en Swift.

     var finalString : NSString = NSString(string: "Hello") finalString = finalString.stringByAppendingFormat("%@", " World") print(finalString) //Output:- Hello World finalString = finalString.stringByAppendingFormat("%@", " Of People") print(finalString) //Output:- Hello World Of People 

    Puede usar SwiftString ( https://github.com/amayne/SwiftString ) para hacer esto.

     "".join(["string1", "string2", "string3"]) // "string1string2string" " ".join(["hello", "world"]) // "hello world" 

    DESCARGO DE RESPONSABILIDAD: escribí esta extensión

    Acabo de cambiar de Objective-C a Swift (4) y encuentro que a menudo uso:

     let allWords = String(format:"%@ %@ %@",message.body!, message.subject!, message.senderName!) 

    veloz 4

      let StringHello = "Hello" let StringWorld = "World" let ConcatenatedString = "\(StringHello)\(StringWorld)" print("Concatenated result = \(ConcatenatedString)")