2014-02-09 3 views
0

Objective-C에 대해 좀더 익숙해지기 위해 계산기를 구현하려고합니다. 사용자가 입력 한 문자열이 "41 * 92"와 같을 수 있습니다. 문자열을 파싱하여 배열에 2 개의 숫자를 더하는 좋은 방법은 무엇입니까? componentsJoinedByString과 같은 것 :이 단계 (+, -, *, /)에서 4 개의 다른 구분 기호가 사용됩니까?여러 구분 기호로 문자열 구문 분석

+1

"나는 조금 더가되기 위해 계산기를 구현하기 위해 노력하고있어 XCode에 익숙하다 "- 오히려"Objective-C "또는"OS X 또는 iOS SDK "를 의미합니까? –

답변

3

당신은 @Sean 말한 것처럼 componentsSeparatedByCharactersInSet:

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

+0

대단히 감사합니다. – binaryZomby

1

당신은 문자열을 분할 할 수 있습니다 사용할 수 있지만, 당신이 원하는 경우 실제로 구문 분석41*92 같은 입력, 그것을 할 수있는 방법이 일반적으로 사용하는 NSScanner. 애플의 String Programming Guide: Scanners을 보거나 NSScanner 튜토리얼을 검색하십시오.

(당신은 또한 당신이 수학 식을 평가하려는 경우 NSExpression를 사용하여 "속임수"할 수 있습니다,하지만 난 그게 당신이 원하는 것을하지 같아요.)

관련 문제