参数估计一致性例题:java下如何判断一个汉字是完整的,而不是半个汉字?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/26 18:37:32
比如说:"世"可能左边或者右边缺失。
"世"可能左边或者右边缺失是由第三方软件造成的,由此要java做效验。
希望能给一段示例程序,谢谢!
谢谢fw_lucifer提供思想和代码:
如下:
import java.util.*;
import java.util.regex.*;

public class AA {

public static void main(String[] args)
{
String str="111世222dasd上";
Matcher m = Pattern.compile("[\u4e00-\u9fa5]").matcher(str);
while(m.find()) System.out.println(m.group());

}
}

汉字的Unicode编码范围为\u4E00-\u9FA5 \uF900-\uFA2D,如果不在这个范围内就不是汉字了.

虽然我不懂JAVA,“世”的十六进制为CAC0,而如果拆分的话,也可能为Ê和À
对于这个问题,我想这样可以解决,到中文编码库去查找,看是否存在这个字符。

由第三方软件造成的,就先把他们转化成Unicode编码

java中字符使用unicode, 要么是乱码,要么是整个汉字。 不存在半个的问题。 这就是Java国际化做的好的地方。
可以看看new String(byte[] bs, String encoding)
只要指定正确的编码就可以取得正确的字符。

Unicode