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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/11971945/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-30 19:44:38  来源:igfitidea点击:

Concatenate String in String Objective-c

objective-ciosstring

提问by jsttn

I want to place a string within a string. Basically in pseudo code:

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

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

How can I do this in objective-c? Is there a way to easily concatenate in obj-c? Thanks!

我怎么能在objective-c中做到这一点?有没有办法在 obj-c 中轻松连接?谢谢!

回答by Dustin

Yes, do

是的

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

For concatenation you can use stringByAppendingString

对于连接,您可以使用 stringByAppendingString

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

For multiple strings

对于多个字符串

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

回答by jsttn

Variations on a theme:

主题的变化:

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

回答by justin

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

or simply -[NSString stringByAppendingString:]

或者干脆 -[NSString stringByAppendingString:]

回答by Bill Burgess

You would normally use -stringWithFormathere.

您通常会-stringWithFormat在这里使用。

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

回答by Yuji

Just do

做就是了

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

This gives you

这给你

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

回答by Rodrigo

Iam amazed that none of the top answers pointed out that under recent Objective-C versions (after they added literals), you can concatenate just like this:

我很惊讶没有一个顶级答案指出在最近的 Objective-C 版本下(在他们添加文字之后),你可以像这样连接:

@"first" @"second"

And it will result in:

它会导致:

@"firstsecond"

You can not use it with NSString objects, only with literals, but it can be useful in some cases.

您不能将它与 NSString 对象一起使用,只能与文字一起使用,但它在某些情况下很有用。

回答by fengd

simple one:

简单一:

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

if you have many STRINGS to Concatenate, you should use NSMutableStringfor better performance

如果你有很多 STRINGS 要连接,你应该使用NSMutableString以获得更好的性能