如何用两个特殊字符分隔NSString?

如何用两个特殊字符分隔NSString?,nsstring,nsarray,Nsstring,Nsarray,我有一个字符串,需要将其拆分为多个字符串。 例如,这是我的字符串: #titleone%和苹果*#titletwo%和蜂蜜* 每次它读取“#”时,我需要它将字符串保存在数组中,并在读取“%”时停止。此外,每次读取“&”时,我需要将字符串保存在另一个数组中,并在读取“*”时停止。 到目前为止,我已经做到了这一点 NSString* foo = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSArray* s

我有一个字符串,需要将其拆分为多个字符串。 例如,这是我的字符串:

#titleone%和苹果*#titletwo%和蜂蜜*

每次它读取“#”时,我需要它将字符串保存在数组中,并在读取“%”时停止。此外,每次读取“&”时,我需要将字符串保存在另一个数组中,并在读取“*”时停止。 到目前为止,我已经做到了这一点

NSString* foo = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSArray* stringComponents = [foo componentsSeparatedByString:@"#"];
NSArray* otherstringComponents = [foo componentsSeparatedByString:@"%"];
我只需要知道如何在每次读取某个字符时将其添加到数组中,并在每次读取另一个字符时停止。
或者,如果有其他方法来完成这项工作,我将不胜感激。

您最好使用
NSScanner
并扫描到您的起始字符集(使用
scanupCharacters fromset:intoString:
)然后检查哪个起始字符,以决定如何处理从扫描到结束字符的字符串