如何连接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之间的区别 )。
注意
实际上, let
和var
与NSString
和NSMutableString
非常不同 ,但它有助于类比。
你可以用这些方法添加一个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"
免责声明:我写了这个扩展名