如何在java字符串中查找第一个中文字符 例如:
String str = "xing 杨某某";
如何在上面的str中获得第一个汉字杨的索引。 谢谢!
答案 0 :(得分:8)
这可能有所帮助:
public static int firstChineseChar(String s) {
for (int i = 0; i < s.length(); ) {
int index = i;
int codepoint = s.codePointAt(i);
i += Character.charCount(codepoint);
if (Character.UnicodeScript.of(codepoint) == Character.UnicodeScript.HAN) {
return index;
}
}
return -1;
}
答案 1 :(得分:2)
在你的情况下,你有四个ascii字符然后你有另一个中文字符,所以你可以使用for循环检查char不再是ascii。
所以,如果char与ascii不同,那么在这种情况下,我的意思是中文字符。
for(int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
int char = (int) c;
if(char < 0 || char > 255) // Is not ascii
System.out.println("The first chinese char is: " + str.charAt(i);
}