如何在Swift中连接字符串?

Raj*_*071 182 string concat string-concatenation swift

如何在Swift中连接字符串?

Objective-C我们不喜欢

NSString *string = @"Swift";
NSString *resultStr = [string stringByAppendingString:@" is a new Programming Language"];
Run Code Online (Sandbox Code Playgroud)

要么

NSString *resultStr=[NSString stringWithFormat:@"%@ is a new Programming Language",string];
Run Code Online (Sandbox Code Playgroud)

但是我想用Swift语言做这件事.

Fog*_*ter 321

您可以通过多种方式连接字符串:

let a = "Hello"
let b = "World"

let first = a + ", " + b
let second = "\(a), \(b)"
Run Code Online (Sandbox Code Playgroud)

你也可以这样做:

var c = "Hello"
c += ", World"
Run Code Online (Sandbox Code Playgroud)

我相信还有更多方法.

一点描述

let创造一个常数.(有点像NSString).设置后,您无法更改其值.您仍然可以将其添加到其他内容并创建新变量.

var创建一个变量.(有点像NSMutableString)所以你可以改变它的价值.但是Stack Overflow已经多次回答了这个问题(参见let和var之间的区别).

注意

在现实中let,并var很大的不同,从NSStringNSMutableString,但它可以帮助类比.


Arb*_*tur 60

您可以通过以下方式添加字符串:

  • str += ""
  • str = str + ""
  • str = str + str2
  • str = "" + ""
  • str = "\(variable)"
  • str = str + "\(variable)"

我想我把它们都命名了.


yoe*_*ven 29

var language = "Swift" 
var resultStr = "\(language) is a new programming language"
Run Code Online (Sandbox Code Playgroud)

  • 作为旁注,这称为字符串插值,而不是串联. (23认同)

CW0*_*007 13

这也可以:

var string = "swift"
var resultStr = string + " is a new Programming Language"
Run Code Online (Sandbox Code Playgroud)


Jit*_*dra 11

\这用于将一个字符串附加到另一个字符串.

var first = "Hi" 
var combineStr = "\(first) Start develop app for swift"
Run Code Online (Sandbox Code Playgroud)

您也可以尝试: - +关键字.

 var first = "Hi" 
 var combineStr = "+(first) Start develop app for swift"
Run Code Online (Sandbox Code Playgroud)

试试这个代码.


Bag*_*ndt 10

let the_string = "Swift"
let resultString = "\(the_string) is a new Programming Language"
Run Code Online (Sandbox Code Playgroud)


Raj*_*han 9

非常简单:

let StringA = "Hello"
let StringB = "World"
let ResultString = "\(StringA)\(StringB)"
println("Concatenated result = \(ResultString)")
Run Code Online (Sandbox Code Playgroud)


Mar*_*ens 9

您现在可以在Swift中使用stringByAppendingString.

var string = "Swift"
var resultString = string.stringByAppendingString(" is new Programming Language")
Run Code Online (Sandbox Code Playgroud)


Esq*_*uth 5

XCode不接受使用普通字符串添加的可选字符串.我写了这个扩展来解决这个问题:

extension String {
    mutating func addString(str: String) {
        self = self + str
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以这样称呼它:

var str1: String?
var str1 = "hi"
var str2 = " my name is"
str1.addString(str2)
println(str1) //hi my name is
Run Code Online (Sandbox Code Playgroud)

但是你现在也可以这样做:

var str1: String?
var str1 = "hi"
var str2 = " my name is"
str1! += str2
Run Code Online (Sandbox Code Playgroud)


Vit*_*Pai 5

雨燕5

您可以使用appendingAPI 来实现它。这将返回一个通过将给定字符串附加到接收者而形成的新字符串。

API 详细信息:此处

使用

var text = "Hello"
text = text.appending(" Namaste")
Run Code Online (Sandbox Code Playgroud)

结果

Hello
Hello Namaste
Run Code Online (Sandbox Code Playgroud)