如何在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)

其他回答

斯威夫特5

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

API详情:此处

Use:

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

结果:

Hello
Hello Namaste

\ this被用来将一个字符串附加到另一个字符串。

var first = "Hi" 
var combineStr = "\(first) Start develop app for swift"

你也可以试试这个:- +关键字。

 var first = "Hi" 
 var combineStr = "+(first) Start develop app for swift"

试试这段代码。

来打印组合字符串

Println("\(string1)\(string2)")

或String3存储2个字符串组合的输出

let strin3 = "\(string1)\(string2)"

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
var language = "Swift" 
var resultStr = "\(language) is a new programming language"