小编典典

如何替换Java中不可打印的Unicode字符?

java

以下内容将替换ASCII控制字符(的缩写[\x00-\x1F\x7F]):

my_string.replaceAll("\\p{Cntrl}", "?");

以下内容将替换所有ASCII不可打印字符(的缩写[\p{Graph}\x20]),包括带重音符号的字符:

my_string.replaceAll("[^\\p{Print}]", "?");

但是,两者均不适用于Unicode字符串。有谁能从Unicode字符串中删除不可打印字符的好方法?


阅读 438

收藏
2020-03-12

共1个答案

小编典典

my_string.replaceAll("\\p{C}", "?");

详细了解Unicode正则表达式。java.util.regexPattern/ String.replaceAll支持他们。

2020-03-12