Como faço para concatenar strings no Swift?

Como concatenar string no Swift?

Em Objective-C nós gostamos

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

ou

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

Mas eu quero fazer isso na linguagem Swift.

Você pode concatenar cadeias de várias maneiras:

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

Você também pode fazer:

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

Tenho certeza de que há outras maneiras também.

Pouco de descrição

let criar uma constante. (mais ou menos como um NSString ). Você não pode alterar seu valor depois de defini-lo. Você ainda pode adicioná-lo a outras coisas e criar novas variables.

var cria uma variável. (tipo como NSMutableString ) para que você possa alterar o valor dele. Mas isso foi respondido várias vezes no Stack Overflow, (veja a diferença entre let e var ).

Nota

Na realidade, let e var são muito diferentes de NSString e NSMutableString mas isso ajuda na analogia.

Você pode adicionar uma string destas formas:

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

Eu acho que eu nomeei todos eles.

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

Isso vai funcionar também:

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

\ isto está sendo usado para acrescentar uma string a outra string.

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

Você pode tentar isso também: – + palavra-chave.

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

Tente este código.

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

Muito simples:

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

Agora você pode usar stringByAppendingString no Swift.

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

O XCode não aceita strings opcionais adicionadas com uma string normal. Eu escrevi estas extensões para resolver esse problema:

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

Então você pode chamá-lo como:

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

No entanto, agora você também pode fazer algo assim:

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

É chamado de Interpolação de String. É maneira de criar NOVA corda com CONSTANTES, VARIÁVEIS, LITERAIS e EXPRESSÕES. por exemplo:

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

Além disso

 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" 

também significa concatenar valores de string.

Espero que isso ajude você.

Para imprimir a string combinada usando

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

ou String3 armazena a saída da combinação de 2 seqüências de caracteres

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

Também é possível usar stringByAppendingFormat no 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 

Você poderia usar SwiftString ( https://github.com/amayne/SwiftString ) para fazer isso.

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

ISENÇÃO DE RESPONSABILIDADE: Eu escrevi esta extensão

Acabei de mudar de Objective-C para Swift (4), e acho que uso frequentemente:

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

rápido 4

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