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