regex 在java中将String XML中的非UTF-8字符替换为空格

mrwjdhj3  于 2023-06-30  发布在  Java
关注(0)|答案(1)|浏览(131)

检查这个post,我可以用空格替换字符串XML中的撇号’字符:

String s = "<content>abc’s house.</content>";     
s = s.replaceAll("[^\\x00-\\x7F]"," ");
System.out.println(s);

问题是它产生3个空格:abc s house.,我会说,因为’有3个字符可能?但是我需要用一个空格来替换这个字符:abc s house.
如果我使用下面的方法,它在从eclipse运行时工作,但是当我将其编译为可执行jar时,它将’转换为,并且由于字符串没有,因此它不工作。(我可以通过反编译jar并查看代码来看到这种行为):

s = s.replace("’", " ");
mlnl4t2r

mlnl4t2r1#

可以使用+量词:

String s = "abc’s house.";
    s = s.replaceAll("[^\\x00-\\x7F]+"," ");
    System.out.println(s);

打印:
ABC的家

相关问题