にすべての文字を追加したいNSArray ("123" -> To NSArray with "1","2","3")
。と をテストcomponentsSeparatedByString:@""
しましcomponentsSeparatedByString:nil
たが、うまくいきません。誰か助けてもらえますか?
2 に答える
6
必要に応じて、アクセント付き文字をエンコードするさまざまな方法を考慮して、文字列を合成文字で列挙したい場合があります。
大きな問題ではないかもしれませんが、enumerateSubstringsInRange:options:usingBlock:
少なくとも使用すれば処理されます。コードは次のようになります。
NSMutableArray *result;
NSString *string = @"Genève, Zu\u0308rich, Bellinzona";
// ^
// What humans know as: Zürich
result = [NSMutableArray array];
[string enumerateSubstringsInRange: NSMakeRange(0,string.length)
options: NSStringEnumerationByComposedCharacterSequences
usingBlock: ^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop){
// If you want to see the way the string has been split
NSLog(@"%@", substring);
[result addObject: substring];
}
];
「è」は 1 文字ですが、「ü」は複合文字としてエンコードされていることに注意してください。どちらも、ループで使用するために正しく識別されます。"ü"を使用するcharacterAtIndex:
と、2 つ (u と ¨) に分割されますが、これはおそらく希望どおりではありません。
于 2013-05-11T08:14:11.310 に答える
-1
このように使えますが、
for (int i=0; i < [myString length]; i++) {
... [myString characterAtIndex:i]
// You can then decide how to assign a value to each individual string, via a switch.
}
于 2013-05-11T07:11:48.103 に答える