我必须检查给定NSString中的每个字符是否存在某种情况。
当字符串包含将以4个字节(以UTF-8编码)表示的字符时,结果不是我期望的字符。
NSString* oneCharString = [@"" substringWithRange:NSMakeRange(0, 1)];
调试器显示:
它看起来像一个空字符串。但检查显示了一些值(可能是非字符的符号?)。
答案 0 :(得分:1)
如果你想获得字符串的第一个字符,你需要这样做:
NSString *str = ... // the string such as @""
NSRange firstRange = [str rangeOfComposedCharacterSequenceAtIndex:0];
NSString *oneCharString = [str substringFromRange:firstRange];
此代码正确处理组合字符。