Objective C - 在任何非字母字符上拆分字符串

Objective C - Split string on any non alpha characters


我正在使用数学解析器评估和计算公式,这些公式可能包含数百个数组中的任何变量,我需要做的是从公式字符串中获取变量名称数组(其中将只由字母字符组成)这样我就可以在解析表达式之前找到合适的值。

我有如下公式:

PARAMONE*(1+((PARAMTWO-1)/30))^(PARAMTHREE+1)

我想要的形式是 NSArray [PARAMONE, PARAMTWO, PARAMTHREE] 但无法弄清楚如何删除和拆分公式来实现此目的。

非常感谢任何帮助。

谢谢

这将按照您的描述进行

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);