如何在Swift连接字符串?
在Objective-C中
NSString *string = @"Swift";
NSString *resultStr = [string stringByAppendingString:@" is a new Programming Language"];
or
NSString *resultStr=[NSString stringWithFormat:@"%@ is a new Programming Language",string];
但我想用swift语言来写。
来自:Matt Neuburg书“iOS 13编程基础与Swift。”:
要组合(连接)两个字符串,最简单的方法是使用+运算符:
let s = "hello"
let s2 = " world"
let greeting = s + s2
这种方便的表示法是可能的,因为+操作符是重载的:当操作数是数字(数字加法)时它做一件事,当操作数是字符串(连接)时它做另一件事。
+操作符带有+=赋值快捷键;当然,左边的变量必须用var声明:
var s = "hello"
let s2 = " world"
s += s2
作为+=的替代方法,你可以调用append(_:)实例方法:
var s = "hello"
let s2 = " world"
s.append(s2)
连接字符串的另一种方法是使用joined(separator:)方法。你从一个要连接的字符串数组开始,并把要插入所有字符串之间的字符串交给它:
let s = "hello"
let s2 = "world"
let space = " "
let greeting = [s,s2].joined(separator:space)
你可以用多种方式连接字符串:
let a = "Hello"
let b = "World"
let first = a + ", " + b
let second = "\(a), \(b)"
你还可以:
var c = "Hello"
c += ", World"
我相信还有更多的方法。
稍微描述一下
创建一个常数。(有点像NSString)。一旦你设置了它,你就不能改变它的值。你仍然可以把它添加到其他东西,并创建新的变量。
Var创建一个变量。(有点像NSMutableString)所以你可以改变它的值。但是这个问题在Stack Overflow上已经被回答了几次(参见let和var之间的区别)。
Note
实际上,let和var与NSString和NSMutableString非常不同,但它有助于类比。