我有一个NSString,让我们说“你好”......
在每个角色之间使用逗号填充此字符串的最快方法是什么? (包括在第一个字符之前)
因此返回的字符串将是“,H,E,L,L,O”
我只是想做一个for循环并且每次添加逗号时变量都会增加2,这样它将越过新的逗号和下一个字母并添加一个逗号,然后检查该变量除以2是否更大比原始字符串的长度...有更好的方法吗?
答案 0 :(得分:3)
或者您可以将字符附加到可变字符串:
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]];
}
答案 1 :(得分:0)
如果你喜欢正则表达式,你可以使用它们。不确定性能,因此对于长字符串,您可能需要验证它。
它的内容是两行代码:
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"];
我冒昧地不检查正则表达式的错误,因为它只包含一个点。这真的应该在操作系统的未来版本中编译。