【问题标题】:Objective C - Split string on any non alpha charactersObjective C - 在任何非字母字符上拆分字符串
【发布时间】:2015-01-15 08:39:18
【问题描述】:
我正在使用数学解析器来评估和计算公式,这些可以包含数百个数组中的任何变量,我需要做的是从公式字符串中获取变量名数组(这只会由字母字符组成),以便我可以在解析表达式之前找到适当的值。
我有一个如下公式:
PARAMONE*(1+((PARAMTWO-1)/30))^(PARAMTHREE+1)
我想要的形式是NSArray [PARAMONE, PARAMTWO, PARAMTHREE],但不知道如何删除和拆分公式来实现这一点。
非常感谢任何帮助。
谢谢
【问题讨论】:
标签:
objective-c
split
nsstring
nsarray
expression
【解决方案1】:
这将按照您的描述进行
NSString *formula = @"PARAMONE*(1+((PARAMTWO-1)/30))^(PARAMTHREE+1)";
// A character set containing everything but the letters
NSCharacterSet *splitCharacterSet = [[NSCharacterSet letterCharacterSet] invertedSet];
NSMutableArray *words = [[formula componentsSeparatedByCharactersInSet:splitCharacterSet] mutableCopy];
// Remove any empty strings as a result of the split
[words removeObject:@""];
NSLog(@"%@", words);