Разделение одной строки на две разные строки в Objective-C - PullRequest
2 голосов
/ 20 сентября 2011

Я только начинаю с Objective-C и разработчика приложений для iphone, я пытаюсь создать приложение для калькулятора, логика, которую я использовал, такова: когда пользователь нажимает любую кнопку, я получаю название кнопки с помощью [отправитель titleForState: UIControlStateNormal] метод, а затем продолжить добавление его в строку (NSString * result).скажем, пользователь вводит 123 + 456, тогда в моей строке у меня будет "123 + 456", теперь я хочу две строки "123" и "456", чтобы я мог добавить их методом [result intValue].

Итак, мой вопрос: как мне получить эти две отдельные строки ("123" и "456")?

Пример кода с подходящими методами был бы очень полезен.

Ответы [ 4 ]

13 голосов
/ 20 сентября 2011
NSString * mystring = @"123+456";
NSArray * array = [mystring componentsSeparatedByString:@"+"];
NSString * str1 = [array objectAtIndex:0]; //123
NSString * str2 = [array objectAtIndex:1]; //456
2 голосов
/ 20 сентября 2011

Обнаружено в NSString tokenize в Objective-C

Обнаружено в http://borkware.com/quickies/one?topic=NSString (полезная ссылка):

NSString *string = @"oop:ack:bork:greeble:ponies";
NSArray *chunks = [string componentsSeparatedByString: @":"];

Надеюсь, это поможет!

Адам

NSString *string = @"123+456";
NSArray *chunks = [string componentsSeparatedByString: @"+"];

int res = [[chunks objectAtIndex:0] intValue]+[[chunks objectAtIndex:1] intValue];
1 голос
/ 20 сентября 2011

Вы можете разделить строки, используя NSString s componentsSeparatedByString:

NSString *calculation = @"1235+4362";
NSArray *results = [calculation componentsSeparatedByString:@"+"];

NSLog(@"Results: %@", results);

Если вы пытаетесь внедрить калькулятор, вы можете ознакомиться с Обратная польская запись и Алгоритм маневрового двора , как вы обнаружите, попытка создать простой калькулятор будет немного сложнее, чем ожидалось.

1 голос
/ 20 сентября 2011
NSArray* yourTwoStrings = [@"123+456" componentsSeparatedByString:@"+"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...