假设我有以下字符串"Center-World"
,我想在两个不同的字符串中分隔此字符串,但我希望短划线成为"Center"
的一部分。通过下面的代码,我得到了一个包含["Center","World"]
的字符串,我想要一些返回["Center-","World"]
的内容。
这是我的代码:
NSCharacterSet *stringDelimiters = [NSCharacterSet characterSetWithCharactersInString:@" :-"];
NSArray *cellContentWords = [cell.text componentsSeparatedByCharactersInSet:stringDelimiters];
有什么建议吗?
提前感谢。
答案 0 :(得分:0)
我最近需要这样的东西。我想将选择器字符串(例如:initWithFoo:bar:baz:
)分解为各种组件:(例如:initWithFoo:
,bar:
和baz:
)。你和我发现componentsSeparatedByString:
并没有完全削减它。因此,我创建了一个NSString
类别来做我想要的事情:
- (NSArray *) selectorComponents {
NSMutableArray * components = [NSMutableArray array];
NSMutableString * scratchString = [self mutableCopy];
while ([scratchString rangeOfString:@":"].location != NSNotFound) {
NSRange componentRange = NSMakeRange(0, [scratchString rangeOfString:@":"].location+1);
NSString * component = [scratchString substringWithRange:componentRange];
[components addObject:component];
[scratchString replaceCharactersInRange:componentRange withString:@""];
}
[scratchString release];
return components;
}
您需要从搜索@":"
更改为@"-"
,但之后应该会按照您的预期进行操作。