ios - 如何检测字符串中的汉字

标签 ios localization nsstring

<分区>

我有一个从我的服务器返回的 NSString。在显示字符串之前,我需要检测它是否包含汉字。

我尝试使用 ASCII 和 UTF16 或 UTF8,但它对所有字符串都返回 true。

有没有更好的解决方案?

最佳答案

this answer 中所述, 你可以使用 NSRegularExpression 来搜索 \p{script=Han}:

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\p{script=Han}" options:NSRegularExpressionCaseInsensitive error:nil];
if ([regex numberOfMatchesInString:string options:0 range:NSMakeRange(0, [string length])] > 0) {
    // string contains Chinese characters
}

这将检查字符串中的任何字符是否匹配\p{script=Han},这是汉字Unicode范围的说明符。

关于ios - 如何检测字符串中的汉字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30371370/

相关文章:

validation - 使用其他本地时更新小数

ios - 获取标题的第一个实际字母/数字

iphone - 立方根-DDMathParser-还是一般而言?

ios - iOS前台启动图像

ios - 位置服务警告,即使它们已启用

iOS:复数和自定义语言环境

ios - 如何在 ios7 中本地化家庭/名字顺序和间距

ios - 如何删除我的 NSString 中带有括号 () 的任何子字符串?

objective-c - 如何将字符串转换为 float ?

ios - 在 iOS 版 Chrome 上创建 iOS 主屏幕快捷方式