[英]ASCII Char remove not functioning
如果一个字符串包含任何非 ASCII 值,我需要删除它。
我试过replaceAll mrthod,它在jdk 1.8 及更高版本上运行良好。 但我想在 jdk 1.6 上部署相同的,并且它不起作用。
String Remarks2 ="hii:╘’i";
String Remarks = Remarks2.replaceAll("[^\\p{ASCII}]", "");
System.out.println("ans: "+Remarks);
jdk 1.8 输出:hii:i jdk 1.6 输出:hii:╘'i
实际结果必须是-hii:i
正如评论\\p{ASCII}
稍后出现。 由于 ASCII 是第一个 7 位范围:
String remarks = remarks2.replaceAll("[^\u0000-\u007F]", "");
您可以尝试将分解é
文本标准化为e
和一个零宽度组合标记´
首先:
remarks2 = Normalizer.normalize(remarks2, Form.NFD);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.