2012-08-15 81 views
26

我想在字符串中放置一個字符串。基本上是僞代碼:在字符串中連接字符串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

回答

78

是的,做

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

6

您通常會在這裏使用-stringWithFormat

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

這是真正的最好的方式,當你有一個大的字符串,你正在建設讓我們說一個XML。 – ConfusedDeer 2014-07-18 03:54:53

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

或者乾脆-[NSString stringByAppendingString:]

3

只是做

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

這給你一個主題

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

變化:

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"]; 
0

簡單:

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

,如果你有許多字符串來連接,你應該使用NSMutableString獲得更好的性能

0

蔭驚訝,沒有一個最佳答案指出,在最近的Objective-C版本(在他們添加li之後) terals),您可以連接,就像這樣:

@"first" @"second" 

而且這會導致:

@"firstsecond" 

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