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


当前回答

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

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

其他回答

这也会起作用:

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

斯威夫特5

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

API详情:此处

Use:

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

结果:

Hello
Hello Namaste

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

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

斯威夫特4.2

你也可以使用扩展:

extension Array where Element == String? {
    func compactConcate(separator: String) -> String {
        return self.compactMap {
            if let unwrappedString = $0,
               unwrappedString.isEmpty {
                return nil
            } else {
                return $0
            }
        }
        .joined(separator: separator)
    }
}

Use:

label.text = [m.firstName, m.lastName].compactConcate(separator: " ")

结果:

"The Man"
"The"
"Man"

非常简单:

let StringA = "Hello"
let StringB = "World"
let ResultString = "\(StringA)\(StringB)"
println("Concatenated result = \(ResultString)")