我想从NSString内的某个地方获取字符。我希望结果是一个NSString。
这是我用来获取单个字符索引的代码:
[[s substringToIndex:i] substringToIndex:1]
有更好的方法吗?
Answers:
这还将检索索引i处的字符作为NSString,并且您仅使用NSRange结构而不是额外的NSString。
NSString * newString = [s substringWithRange:NSMakeRange(i, 1)];
您的建议仅适用于ASCII等简单字符。NSStrings存储unicode,如果您的字符是几个unichars,那么您最终可能会胡言乱语。采用
- (NSRange)rangeOfComposedCharacterSequenceAtIndex:(NSUInteger)index;
如果要确定您的角色有多少个单字符。我用它来遍历字符串以确定字符边界出现的位置。
完全具备Unicode能力是一项工作,但取决于您使用的语言。我看到了很多亚洲文字,所以大多数字符都是从一个空格溢出的,所以这是我需要做的工作。
NSMutableString *myString=[NSMutableString stringWithFormat:@"Malayalam"];
NSMutableString *revString=@"";
for (int i=0; i<myString.length; i++) {
revString=[NSMutableString stringWithFormat:@"%c%@",[myString characterAtIndex:i],revString];
}
NSLog(@"%@",revString);