我正在使用数学解析器来评估和计算公式,这些公式可以包含数百个数组中的任何变量,我需要做的是从公式字符串中获取变量名的数组(这只会由alpha字符组成)这样我就可以在解析表达式之前找到合适的值。
我有一个如下公式:
PARAMONE*(1+((PARAMTWO-1)/30))^(PARAMTHREE+1)
我想要形成的是NSArray [PARAMONE, PARAMTWO, PARAMTHREE]
,但无法弄清楚如何删除和拆分公式来实现这一点。
非常感谢任何帮助。
由于
答案 0 :(得分:4)
这将按照您的描述进行操作
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);