在字符串中连接字符串Objective-c

问题描述:

我想在字符串中放置一个字符串。基本上是伪代码:在字符串中连接字符串Objective-c

"first part of string" + "(varying string)" + "third part of string" 

我该如何在objective-c中做到这一点?有没有一种方法可以在obj-c中轻松连接?谢谢!

+0

下面有很多答案,[这里](https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/ clm/NSString/stringWithFormat :)是stringWithFormat的文档。 – 2012-08-15 15:13:46

+3

'[NSString stringWithFormat:@“Just google'%@'!”,@“http://www.google.hu/search?q=nsstring+class+reference&ie=UTF-8&oe=UTF-8&hl=en-gb&client = safari“];' – 2012-08-15 15:16:38

+1

@ H2CO3你仍然可以接受 – Dustin 2012-08-15 15:33:08

是的,做

NSString *str = [NSString stringWithFormat: @"first part %@ second part", varyingString]; 

进行连结,你可以使用stringByAppendingString

NSString *str = @"hello "; 
str = [str stringByAppendingString:@"world"]; //str is now "hello world" 

多个字符串

NSString *varyingString1 = @"hello"; 
NSString *varyingString2 = @"world"; 
NSString *str = [NSString stringWithFormat: @"%@ %@", varyingString1, varyingString2]; 
//str is now "hello world" 
+0

这将工作的众多字符串?像有几个%@并做不同的String,varyString2? – jsttn 2012-08-15 15:14:59

您通常会在这里使用-stringWithFormat

NSString *myString = [NSString stringWithFormat:@"%@%@%@", @"some text", stringVariable, @"some more text"]; 
+0

这是真正的最好的方式,当你有一个大的字符串,你正在建设让我们说一个XML。 – ConfusedDeer 2014-07-18 03:54:53

NSString * varyingString = ...; 
NSString * cat = [NSString stringWithFormat:@"%s%@%@", 
    "first part of string", 
    varyingString, 
    @"third part of string"]; 

或者干脆-[NSString stringByAppendingString:]

只是做

NSString* newString=[NSString stringWithFormat:@"first part of string (%@) third part of string", @"foo"]; 

这给你一个主题

@"first part of string (foo) third part of string" 

变化:

NSString *varying = @"whatever it is"; 
NSString *final = [NSString stringWithFormat:@"first part %@ third part", varying]; 

NSString *varying = @"whatever it is"; 
NSString *final = [[@"first part" stringByAppendingString:varying] stringByAppendingString:@"second part"]; 

NSMutableString *final = [NSMutableString stringWithString:@"first part"]; 
[final appendFormat:@"%@ third part", varying]; 

NSMutableString *final = [NSMutableString stringWithString:@"first part"]; 
[final appendString:varying]; 
[final appendString:@"third part"]; 

简单:

[[@"first" stringByAppendingString:@"second"] stringByAppendingString:@"third"]; 

,如果你有许多字符串来连接,你应该使用NSMutableString获得更好的性能

荫惊讶,没有一个最佳答案指出,在最近的Objective-C版本(在他们添加li之后) terals),您可以连接,就像这样:

@"first" @"second" 

而且这会导致:

@"firstsecond" 

你不能NSString对象,只能用文字使用它,但它可以在一些有用的案例。