2014-02-09 4 views
0

Я пытаюсь реализовать калькулятор, чтобы немного познакомиться с Objective-C. Пользователь вводит строку, которая может быть чем-то вроде «41 * 92». Что было бы хорошим способом разобрать строку, чтобы добавить 2 числа в массив? Что-то вроде componentsJoinedByString: но с четырьмя различными разделителями на этом этапе (+, -, *, /)?Разбор строки с несколькими разделителями

+1

«Я пытаюсь реализовать калькулятор, чтобы стать немного больше знакомый с XCode »- вы скорее подразумеваете« Objective-C »или« OS X или iOS SDK », нет? –

ответ

3

Вы можете использовать componentsSeparatedByCharactersInSet:

NSArray *arr = [string componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"+-*/"]];

+0

Большое спасибо – binaryZomby

1

Вы можете разделить строку, как сказал @Sean, но если вы хотите на самом деле синтаксического анализа вход как 41*92, способ сделать это, как правило, использовать NSScanner. См. Статью Apple String Programming Guide: Scanners или найдите учебник NSScanner, есть много.

(Вы также можете «обмануть» с помощью NSExpression если вы хотите, чтобы оценить математические выражения, но я предполагаю, что это не то, что вы хотите.)

Смежные вопросы