我使用以下内容将字符串分隔为",":
NSString * receivedString = @"component1,component3,,component6";
NSArray * arrayOfSubstrings = [receivedString componentsSeparatedByString:@","];
但是我想保留","作为单独的组件,获取以下数组:
[0] "component1"
[1] ","
[2] "component2"
[4] ","
[5] ","
[6] "component6"
相反而不是:
[0] "component1"
[1] "component2"
[2] "component6"
基本上,","是我想要分析的一个元素。
如果没有重新发明轮子,我怎么能这样做呢?
答案 0 :(得分:4)
(未测试的)
+ (NSArray *)splitString:(NSString *)string
withSeparator:(NSString *)separator
{
NSArray *elements = [string componentsSeparatedByString:separator];
NSMutableArray *arr = [NSMutableArray new];
for (NSUInteger i = 0; i < [elements counts]; i++) {
NSString *element = elements[i];
if ([element length] > 0)
[arr addObject:element];
if (i != [elements count] - 1)
[arr addObject:separator];
}
return arr;
}