如何判断是否是汉字!

bianmazi 2006-05-22 04:14:16
string s="fdafadfadfdsfasfNinh鸟阿,发发,。鸟阿鸟啊啊";

如何判断s中那个是汉字, 哪个不是汉字呢?用什么方法啊?应该比较什么呢?
然后截取插入到数据库中,数据库中varchar的长度很短
...全文
752 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zswchengxuyuan 2006-10-12
  • 打赏
  • 举报
回复
String s="fdafadfadfdsfasfNinh鸟阿,发发,。鸟阿鸟啊啊";
char[] cs = s.toCharArray();
for (int i = 0; i < cs.length; i++) {
if (s.charAt(i)>0x80) {
System.out.println(String.valueOf(s.charAt(i)));
}
}
figoren 2006-09-19
  • 打赏
  • 举报
回复
// \u4E00-\u9FA5 范围要小于 \u0391-\uFFE5
var regChinese = /^[^\u4E00-\u9FA5]+$/; //开始结束都不能为中文
rickhunterchen 2006-05-25
  • 打赏
  • 举报
回复
看看这里:
http://www.blogjava.net/rickhunter/articles/26849.html

4、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
GALFORDD 2006-05-25
  • 打赏
  • 举报
回复
ascii码100后的差不多都是特殊字符了
figoren 2006-05-23
  • 打赏
  • 举报
回复
正则表达式 java类中用

Pattern p = Pattern.compile(判断汉字的正则表达式);
Matcher m = p.matcher(s);
boolean b = m.matches();是否有匹配的
iwlk 2006-05-22
  • 打赏
  • 举报
回复
char的byte长度>1
yonghar 2006-05-22
  • 打赏
  • 举报
回复
如果是要判断拉丁文字和亚洲文字区别,只需要获得char的byte长度可以判断。

如果要判断是不是汉字,则需要判断具体的字的编码值。
kingofworl 2006-05-22
  • 打赏
  • 举报
回复
每个字符判断
^[\u4e00-\u9fa5]{0,}$

kingofworl 2006-05-22
  • 打赏
  • 举报
回复
最好用正则表达式
判断同一 char的byte长度>1 应该也可以勉强做到

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧