Подтвердить что ты не робот

Конкатенация строки в строке Objective-c

Я хочу поместить строку в строку. В основном в псевдокоде:

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

Как это сделать в objective-c? Есть ли способ легко конкатенации в obj-c? Спасибо!

4b9b3361

Ответ 1

Да, do

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"

Ответ 2

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

или просто -[NSString stringByAppendingString:]

Ответ 3

Вариации на тему:

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

Ответ 4

Вы обычно используете -stringWithFormat здесь.

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

Ответ 5

Просто сделай

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

Это дает вам

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

Ответ 6

простой:

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

Если у вас есть много STRINGS для Concatenate, вы должны использовать NSMutableString для лучшей производительности

Ответ 7

Я поражен тем, что ни один из лучших ответов не указал, что в недавних версиях Objective-C (после добавления литералов) вы можете конкатенировать так:

@"first" @"second"

И это приведет к:

@"firstsecond"

Вы не можете использовать его с объектами NSString, только с литералами, но в некоторых случаях это может быть полезно.