如何在Swift中连接字符串?
在Objective-C
我们不喜欢
NSString *string = @"Swift"; NSString *resultStr = [string stringByAppendingString:@" is a new Programming Language"];
要么
NSString *resultStr=[NSString stringWithFormat:@"%@ is a new Programming Language",string];
但是我想用Swift语言做这件事.
您可以通过多种方式连接字符串:
let a = "Hello" let b = "World" let first = a + ", " + b let second = "\(a), \(b)"
你也可以这样做:
var c = "Hello" c += ", World"
我相信还有更多方法.
一点描述
let
创造一个常数.(有点像NSString
).设置后,您无法更改其值.您仍然可以将其添加到其他内容并创建新变量.
var
创建一个变量.(有点像NSMutableString
)所以你可以改变它的价值.但是Stack Overflow已经多次回答了这个问题(参见let和var之间的区别).
注意
在现实中let
,并var
有很大的不同,从NSString
和NSMutableString
,但它可以帮助类比.
您可以通过以下方式添加字符串:
str += ""
str = str + ""
str = str + str2
str = "" + ""
str = "\(variable)"
str = str + "\(variable)"
我想我把它们都命名了.
let the_string = "Swift" let resultString = "\(the_string) is a new Programming Language"
var language = "Swift" var resultStr = "\(language) is a new programming language"
这也可以:
var string = "swift" var resultStr = string + " is a new Programming Language"
XCode不接受使用普通字符串添加的可选字符串.我写了这个扩展来解决这个问题:
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
非常简单:
let StringA = "Hello" let StringB = "World" let ResultString = "\(StringA)\(StringB)" println("Concatenated result = \(ResultString)")
\这用于将一个字符串附加到另一个字符串.
var first = "Hi" var combineStr = "\(first) Start develop app for swift"
您也可以尝试: - +关键字.
var first = "Hi" var combineStr = "+(first) Start develop app for swift"
试试这个代码.
您现在可以在Swift中使用stringByAppendingString.
var string = "Swift" var resultString = string.stringByAppendingString(" is new Programming Language")