我有一个 NSString,让我们说“你好”......在每个字符之间用逗号填充这个字符串的最快方法是什么?(包括在第一个字符之前)
所以返回的字符串将是,“,H,E,L,L,O”
我只是要做一个for循环,并且每次添加逗号时都有一个变量上升2,这样它将经过新的逗号和下一个字母并添加一个逗号,然后检查该变量除以2是否更大比原始字符串的长度...有更好的方法吗?
我有一个 NSString,让我们说“你好”......在每个字符之间用逗号填充这个字符串的最快方法是什么?(包括在第一个字符之前)
所以返回的字符串将是,“,H,E,L,L,O”
我只是要做一个for循环,并且每次添加逗号时都有一个变量上升2,这样它将经过新的逗号和下一个字母并添加一个逗号,然后检查该变量除以2是否更大比原始字符串的长度...有更好的方法吗?
或者您可以将字符附加到可变字符串:
NSString *original = @"Hello";
NSUInteger len = original.length;
NSMutableString *newStr = [NSMutableString stringWithCapacity:len * 2];
for (int i = 0; i < len; i++) {
[newStr appendFormat:@",%C", [original characterAtIndex:i]];
}
如果你喜欢正则表达式,你可以使用它们。不确定性能,因此对于长字符串,您可能需要验证这一点。
它的核心是两行代码:
NSString *orgString = @"Hello"; // Not part of the meat, for the line counters out there...
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"."
options:0
error:nil];
NSString *commaString = [regex stringByReplacingMatchesInString:orgString
options:0
range:NSMakeRange(0, orgString.length)
withTemplate: @",$0"];
我冒昧地不检查正则表达式是否有错误,因为它只包含一个点。这真的应该在未来版本的操作系统中编译。