我刚开始使用Objective-C和iphone app dev,我正在尝试设计一个计算器应用程序,我使用的逻辑是这样的: 当用户点击任何按钮时,我按下按钮的标题 [sender titleForState:UIControlStateNormal]方法然后继续将其附加到字符串(NSString * result)。 说用户输入123 + 456,然后在我的字符串中我将有“123 + 456”,现在我想要两个字符串“123”和“456”,这样我就可以通过[result intValue]方法添加它们。
所以我的问题是,如何获得这两个单独的字符串(“123”和“456”)?
使用合适方法的示例代码非常有用。
答案 0 :(得分:13)
NSString * mystring = @"123+456";
NSArray * array = [mystring componentsSeparatedByString:@"+"];
NSString * str1 = [array objectAtIndex:0]; //123
NSString * str2 = [array objectAtIndex:1]; //456
答案 1 :(得分:2)
在NSString tokenize in 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];
答案 2 :(得分:1)
NSArray* yourTwoStrings = [@"123+456" componentsSeparatedByString:@"+"];
答案 3 :(得分:1)
您可以使用NSString
s componentsSeparatedByString:
NSString *calculation = @"1235+4362";
NSArray *results = [calculation componentsSeparatedByString:@"+"];
NSLog(@"Results: %@", results);
如果您尝试实施计算器,可能需要熟悉Reverse Polish Notation和Shunting-Yard Algorithm,因为您会发现尝试创建一个简单的计算器会比预期更具挑战性。