Igo*_*yuk 1 objective-c nsstring
我想分成NSString带有固定长度部分的数组.我怎样才能做到这一点?
我搜索过它,但我只找到componentSeparatedByString方法,但仅此而已.它也可以手动完成,但有更快的方法吗?
取决于"更快"的意思 - 如果它是你所指的处理器性能,我猜它很难被击败substringWithRange:,但对于像这样的问题的强大,简单编码,正则表达式实际上可以派上用场.
这是一个可用于将字符串分成10个字符块的字节,允许最后一个字符串少于10个字符:
NSString *pattern = @".{1,10}";
Run Code Online (Sandbox Code Playgroud)
不幸的是,正则表达式机器的Cocoa实现不那么优雅,但很容易使用:
NSString *string = @"I want to split NSString into array with fixed-length parts. How can i do this?";
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern: pattern options: 0 error: &error];
NSArray *matches = [regex matchesInString:string options:0 range:NSMakeRange(0, [string length])];
NSMutableArray *result = [NSMutableArray array];
for (NSTextCheckingResult *match in matches) {
[result addObject: [string substringWithRange: match.range]];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2069 次 |
| 最近记录: |