string类型字符串里面有中文字 英文单词,怎么提取出单个的中文字和单词,字母也行
举个例子,比如:
String s="asdb中国sadfasgd你好asdfasdf";
取出字符串中的每个字符,用循环就行了,方法是
for(int i=0;i<s.length();i++){
char ch=s.charAt(i);
int n=(int)ch;
}
并且在这个循环中,把每个ch类型强转为int类型。然后做比较就可以了。
字母的范围是65-122
汉字的范围是19967-40869追问
String s="asdb中国sadfasgd你好asdfasdf";
取出字符串中的每个字符,用循环就行了,方法是
for(int i=0;i<s.length();i++){
char ch=s.charAt(i);
int n=(int)ch;
}
并且在这个循环中,把每个ch类型强转为int类型。然后做比较就可以了。
字母的范围是65-122
汉字的范围是19967-40869追问
为什么要转化成int的
?
转化为int 好做比较啊,其实直接用字符去跟数字比较也可以,如果>=65,并且=19967并且<=40869,这个字符就是汉字。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-11-30
正则表达式吧 [a-zA-Z]+ 匹配一个或多个字母
^[\u4E00-\u9FFF]+$ 匹配简体和繁体
^[\u4E00-\u9FA5]+$ 匹配简体来自:求助得到的回答
^[\u4E00-\u9FFF]+$ 匹配简体和繁体
^[\u4E00-\u9FA5]+$ 匹配简体来自:求助得到的回答
第1个回答 2012-11-30
调用 String str = ”abcdeggglk"
str.tochaArr();
str.tochaArr();
第2个回答 2012-11-30
string.toCharArray()
第3个回答 2012-11-30
...你写个for循环判断不就可以吗?
利用 length 和 charAt
利用 length 和 charAt