简体   繁体   English

在Swift中附加字符串

[英]Append String in Swift

I am new to iOS. 我是iOS新手。 I am currently studying iOS using Objective-C and Swift. 我目前正在使用Objective-C和Swift学习iOS。

To append a string in Objective-C I am using following code: 要在Objective-C中附加字符串,我使用以下代码:

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

Anyone please guide me. 有人请指导我。

Its very simple: 非常简单:

For ObjC: 对于ObjC:

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

ForSwift: ForSwift:

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

For ObjC AppendString: 对于ObjC AppendString:

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

For Swift AppendString: 对于Swift AppendString:

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

Result: 结果:

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

Complete Code In Swift: 在Swift中完成代码:

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

In Swift, appending strings is as easy as: 在Swift中,附加字符串很简单:

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

Or you can use string interpolation. 或者,您可以使用字符串插值。

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

Notice there will now be whitespace between them. 注意,它们之间现在将有空白。

Note: I see the other answers are using var a lot. 注意:我看到其他答案正在大量使用var The strings aren't changing and therefore should be declared using let . 字符串没有变化,因此应使用let声明。 I know this is a small exercise, but it's good to get into the habit of best practices. 我知道这是一个小练习,但是养成最佳做法的习惯是很好的。 Especially because that's a big feature of Swift. 特别是因为这是Swift的一大特色。

let string2 = " there"
var instruction = "look over"

choice 1 : 选择1:

 instruction += string2;

  println(instruction)

choice 2: 选择2:

 var Str = instruction + string2;

 println(Str)

ref this 引用这个

Add this extension somewhere: 将此扩展添加到某处:

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

Then you can call it like: 然后您可以这样称呼它:

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

A lot of good Swift extensions like this are in my repo here, check them out: https://github.com/goktugyil/EZSwiftExtensions 我的仓库中有很多类似这样的优秀Swift扩展,请查看它们: https : //github.com/goktugyil/EZSwiftExtensions

You can simply append string like: 您可以简单地附加如下字符串:

var worldArg = "world is good"

worldArg += " to live";
var string1 = "This is ";
var string2 = "Swift Language";
var appendString = string1 + string2;
println("APPEND STRING: \(appendString)");

> Swift2.x

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

According to Swift 4 Documentation , String values can be added together (or concatenated) with the addition operator (+) to create a new String value: 根据Swift 4文档 ,可以将字符串值与加法运算符(+)一起添加(或串联)以创建新的字符串值:

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

You can also append a String value to an existing String variable with the addition assignment operator (+=): 您还可以使用附加赋值运算符(+ =)将String值附加到现有的String变量中:

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

You can append a Character value to a String variable with the String type's append() method: 您可以使用String类型的append()方法将Character值附加到String变量:

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

Strings concatenate in Swift language. 字符串以Swift语言连接。

let string1 = "one" 让string1 =“一个”

let string2 = "two" 让string2 =“两个”

var concate = " (string1) (string2)" var concate =“(string1)(string2)”

playgroud output is "one two" playgroud输出为“一二”

In the accepted answer PREMKUMAR there are a couple of errors in his Complete code in Swift answer. 在已接受的答案PREMKUMAR中,他在Swift答案中的完整代码存在一些错误。 First print should read (appendString) and Second print should read (appendString1). 第一次打印应读取(appendString),第二次打印应读取(appendString1)。 Also, updated println deprecated in Swift 2.0 另外,在Swift 2.0中不建议使用更新的println

His 他的

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

Corrected 已更正

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

SWIFT 2.x SWIFT 2.x

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

SWIFT 3.0 SWIFT 3.0

From Documentation: "You can append a Character value to a String variable with the String type's append() method:" so we cannot use append for Strings. 在文档中: “您可以使用String类型的append()方法将Character值附加到String变量中。”,因此我们不能对字符串使用append。

urlString += "&requireslogin=true"

"+" Operator works in both versions “ +”运算符在两个版本中均适用

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM