I have an UISearchBar, and I want my data to be sorted by pinYin if the user inputs English, and sorted by the characters themselves when the user inputs Chinese characters.
Is there something like
if (searchText isKindofClass: UTF-8String)
to detect if an NSString contains Chinese characters?
You can use a NSRegularExpression to search for "character families" :
http://userguide.icu-project.org/strings/regexp
They give an example of \p{script=cyrillic}, I guess by searching a little you'll find something related to Chinese.
Eren
If you use \p{script=Han} to detecting Chinese, be sure to add '\' before \p. So it is like
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\\p{Script=Han}" options:NSRegularExpressionCaseInsensitive error:&error];
来源:https://stackoverflow.com/questions/11897531/detecting-if-nsstring-contains-chinese-characters