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


当前回答

斯威夫特5:

数组的字符串变成一个单一的字符串

let array = ["Ramana","Meharshi","Awareness","Oneness","Enlightnment","Nothing"]
let joined = array.joined(separator: ",")

其他回答

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

这也会起作用:

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

我刚从Objective-C切换到Swift(4),我发现我经常使用:

let allWords = String(format:"%@ %@ %@",message.body!, message.subject!, message.senderName!)

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)")