如何在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语言来写。


当前回答

这也会起作用:

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

其他回答

var language = "Swift" 
var resultStr = "\(language) is a new programming language"

斯威夫特5

你可以使用附加API来实现它。这将返回一个通过将给定字符串追加到接收器而生成的新字符串。

API详情:此处

Use:

var text = "Hello"
text = text.appending(" Namaste")

结果:

Hello
Hello Namaste

串联是指Swift中字符串的组合。字符串可能包含文本,整数,甚至表情符号!字符串连接有很多方法。让我列举一些:

相同的字符串

使用+ =

如果我们想要添加到一个已经存在的String,这是很有用的。为此,我们的String应该是可变的或可以修改的,因此将其声明为变量。例如:

var myClassmates = "John, Jane"
myClassmates += ", Mark" // add a new Classmate
// Result: "John, Jane, Mark"

不同的字符串

如果我们想把不同的字符串组合在一起,例如:

let oldClassmates = "John, Jane" 
let newClassmate = "Mark"

我们可以使用以下任何一种:

1)使用+

let myClassmates = oldClassmates + ", " + newClassmate
// Result: "John, Jane, Mark"

注意,每个字符串可以是一个变量或常量。如果你只改变一次值,就把它声明为常量。

2)字符串插值

let myClassmates = "\(oldClassmates), \(newClassmate)"
// Result: "John, Jane, Mark"

3)添加

let myClassmates = oldClassmates.appending(newClassmate)
// Result: "John, Jane, Mark"

更多信息请参考Swift Book中的字符串和字符。

更新:在Swift 5.1上测试

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

你现在可以在Swift中使用stringByAppendingString。

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