繁体   English   中英

ASCII 字符删除不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM