在 Swift 中追加字符串

我是 iOS 的新手,目前正在使用 Objective-C 和 Swift 学习 iOS。

要在 Objective-C 中附加字符串,我使用以下代码:

 NSString *string1 = @"This is";
NSString *string2 = @"Swift Language";
NSString *appendString=[NSString stringWithFormat:@"%@ %@",string1,string2];
NSLog(@"APPEND STRING:%@",appendString);

谁来指引我。

133972 次浏览
var string1 = "This is ";
var string2 = "Swift Language";
var appendString = string1 + string2;
println("APPEND STRING: \(appendString)");

在 Swift 中,添加字符串与下列操作一样简单:

let stringA = "this is a string"
let stringB = "this is also a string"
let stringC = stringA + stringB

或者可以使用字符串插值。

let stringC = "\(stringA) \(stringB)"

注意它们之间现在有空格。

注意: 我看到其他的答案都在大量使用 var。字符串没有变化,因此应该使用 let声明。我知道这是一个小练习,但是养成最佳实践的习惯是有益的。特别是因为这是斯威夫特的一大特色。

很简单:

目标:

     NSString *string1 = @"This is";
NSString *string2 = @"Swift Language";

福斯威夫特:

    let string1 = "This is"
let string2 = "Swift Language"

对于 ObjecC AppendString:

     NSString *appendString=[NSString stringWithFormat:@"%@ %@",string1,string2];

对于 Swift AppendString:

    var appendString1 = "\(string1) \(string2)"
var appendString2 = string1+string2

结果:

    print("APPEND STRING 1:\(appendString1)")
print("APPEND STRING 2:\(appendString2)")

快速完成代码:

    let string1 = "This is"
let string2 = "Swift Language"
var appendString = "\(string1) \(string2)"
var appendString1 = string1+string2
print("APPEND STRING1:\(appendString1)")
print("APPEND STRING2:\(appendString2)")
let string2 = " there"
var instruction = "look over"

选择一:

 instruction += string2;


println(instruction)

选择二:

 var Str = instruction + string2;


println(Str)

裁判 这个

您可以简单地附加字符串 例如:

var worldArg = "world is good"


worldArg += " to live";

用 Swift 语言连接的字符串。

让 string1 = “ one”

让 string2 = “ two”

Var concate = “(string1)(string2)”

Playground 的输出是“ one two”

在某处添加这个扩展:

extension String {
mutating func addString(str: String) {
self = self + str
}
}

然后你可以这样称呼它:

var str1 = "hi"
var str2 = " my name is"
str1.addString(str2)
println(str1) //hi my name is

很多像这样的 Swift 扩展在我的回购这里,检查他们: https://github.com/goktugyil/EZSwiftExtensions

在已接受的答案 PREMKUMAR 有一对夫妇的错误,在他的完整代码在迅速的答案。第一次打印应该读取(附录字符串) ,第二次打印应该读取(附录字符串1)。此外,在 Swift 2.0中不推荐更新 println

他的

let string1 = "This is"
let string2 = "Swift Language"
var appendString = "\(string1) \(string2)"
var appendString1 = string1+string2
println("APPEND STRING1:\(appendString1)")
println("APPEND STRING2:\(appendString2)")

纠正

let string1 = "This is"
let string2 = "Swift Language"
var appendString = "\(string1) \(string2)"
var appendString1 = string1+string2
print("APPEND STRING:\(appendString)")
print("APPEND STRING1:\(appendString1)")

> Swift2.x:

String("hello ").stringByAppendingString("world") // hello world

SWIFT2. x

let extendedURLString = urlString.stringByAppendingString("&requireslogin=true")

SWIFT 3.0

摘自文件: “您可以使用 String 类型的 append ()方法向 String 变量追加一个字符值:” ,因此我们不能使用 append for String。

urlString += "&requireslogin=true"

“ +”运算符在两个版本中都可以使用

let extendedURLString = urlString+"&requireslogin=true"
let firstname = "paresh"
let lastname = "hirpara"
let itsme = "\(firstname) \(lastname)"

根据 Swift 4文档, 可以将字符串值与加法运算符(+)相加(或连接) ,以创建一个新的字符串值:

let string1 = "hello"
let string2 = " there"
var welcome = string1 + string2
// welcome now equals "hello there"

还可以使用加法赋值运算符(+ =)将 String 值附加到现有的 String 变量:

var instruction = "look over"
instruction += string2
// instruction now equals "look over there"

您可以使用 String 类型的 append ()方法向 String 变量追加一个 Property 值:

let exclamationMark: Character = "!"
welcome.append(exclamationMark)
// welcome now equals "hello there!"