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);
Output in jdk 1.8: hii:i Output in jdk 1.6: hii:╘’i
实际结果必须是- hii:i
如评论所述\p{ASCII}
稍后出现。
由于 ASCII 是前 7 位范围:
String remarks = remarks2.replaceAll("[^\u0000-\u007F]", "");
您可以先尝试将 é
分解为 e
和零宽度组合标记 ´
的文本规范化:
remarks2 = Normalizer.normalize(remarks2, Form.NFD);
如果字符串包含任何非 ASCII 值,我需要将其删除。
我已经尝试过 replaceAll mrthod,它在 jdk 1.8 及更高版本中运行良好。但我想在 jdk 1.6 上部署相同的东西,但它没有运行。
String Remarks2 ="hii:╘’i";
String Remarks = Remarks2.replaceAll("[^\p{ASCII}]", "");
System.out.println("ans: "+Remarks);
Output in jdk 1.8: hii:i Output in jdk 1.6: hii:╘’i
实际结果必须是- hii:i
如评论所述\p{ASCII}
稍后出现。
由于 ASCII 是前 7 位范围:
String remarks = remarks2.replaceAll("[^\u0000-\u007F]", "");
您可以先尝试将 é
分解为 e
和零宽度组合标记 ´
的文本规范化:
remarks2 = Normalizer.normalize(remarks2, Form.NFD);