[英]How do I split an NSString by each character in the string?
我有以下代碼,它按預期工作。 我想知道是否有一種可接受的Cocoa方法將字符串拆分為數組,並將字符串的每個字符作為數組中的對象?
- (NSString *)doStuffWithString:(NSString *)string {
NSMutableArray *stringBuffer = [NSMutableArray arrayWithCapacity:[string length]];
for (int i = 0; i < [string length]; i++) {
[stringBuffer addObject:[NSString stringWithFormat:@"%C", [string characterAtIndex:i]]];
}
// doing stuff with the array
return [stringBuffer componentsJoinedByString:@""];
}
由於字符串已經是一個字符數組,這似乎是多余的。
如果你真的需要NSArray
的NSString
每個一個字符,我認為你創建它的方式是可以的。
但是,您的目的無法以更易讀,更安全(和性能優化)的方式進行,這似乎是值得懷疑的。 有一點對我來說特別危險:將字符串拆分為unicode字符(大部分時間)都沒有按照您的預期進行操作。 有些字符由多個unicode代碼點組成。 並且有unicode代碼點實際上不止一個字符。 除非你知道這些(或者可以保證你的輸入不包含任意字符串),否則你不應該在字符級別的unicode字符串中找到它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.