如何用java替换看不见的字符比如零宽空格​十六进制U+200B
第一步获取该字符的16进制值(ps:虽然看不见但是你应该知道它的位置):
String str = "...你看不见我...";
for(int i=0;i<str.length();i++){
out.print(Integer.toHexString(str.charAt(i)));
out.print("\n");
}
输出显示:...
200b
...
for(int i=0;i<str.length();i++){
out.print(Integer.toHexString(str.charAt(i)));
out.print("\n");
}
输出显示:...
200b
...
第二步替换
str = str.replaceAll("[\u200b]","").trim();
附:
不带宽度的空格(U+200B):\u200B
零宽空格(U+200C):\u200C
零宽不连字号(U+200D):\u200D
零宽度连字符(U+2010):\u2010
窄的不带宽度空格(U+202F):\u202F