如何连接Swift中的string?

如何在Swift中连接string。

Objective-C我们喜欢

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

要么

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

但是我想用Swift语言来做到这一点。

您可以通过多种方式连接string:

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

你也可以这样做:

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

我相信还有更多的方法。

描述位

let创造一个恒定。 (有点像NSString )。 设置后,您无法更改其值。 您仍然可以将其添加到其他的东西,并创build新的variables。

var创build一个variables。 (有点像NSMutableString ),所以你可以改变它的价值。 但是这已经在Stack Overflow上被回答了几次,(看let和var之间的区别 )。

注意

实际上, letvarNSStringNSMutableString 非常不同 ,但它有助于类比。

你可以用这些方法添加一个string:

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

我想我把它们全部命名。

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

\这是用来追加一个string到另一个string。

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

你也可以试试这个: – +关键字。

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

试试这个代码。

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

这也将工作:

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

你现在可以在Swift中使用stringByAppendingString

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

很简单:

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

XCode不接受使用普通string添加的可选string。 我写了这个扩展来解决这个问题:

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

那么你可以这样称呼它:

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

不过,你现在也可以做这样的事情:

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

使用打印组合string

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

或者String3存储2个string组合的输出

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

也可以在Swift中使用stringByAppendingFormat。

 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 

它被称为string插值。 这是用CONSTANTS,VARIABLE,LITERALS和EXPRESSIONS创buildNEWstring的方法。 例如:

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

 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" 

它也意味着连接string值。

希望这可以帮助你。

你可以使用SwiftString( https://github.com/amayne/SwiftString )来做到这一点。

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

免责声明:我写了这个扩展名