簡體   English   中英

如何按字符串中的每個字符拆分NSString?

[英]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:@""];
}

由於字符串已經是一個字符數組,這似乎是多余的。

如果你真的需要NSArrayNSString每個一個字符,我認為你創建它的方式是可以的。

但是,您的目的無法以更易讀,更安全(和性能優化)的方式進行,這似乎是值得懷疑的。 有一點對我來說特別危險:將字符串拆分為unicode字符(大部分時間)都沒有按照您的預期進行操作。 有些字符由多個unicode代碼點組成。 並且有unicode代碼點實際上不止一個字符。 除非你知道這些(或者可以保證你的輸入不包含任意字符串),否則你不應該在字符級別的unicode字符串中找到它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM