如何从Java中的String中去掉特殊字符^\^@

How to eliminate the special character ^\^@ from String in Java

我的应用程序正在读取包含以下数据的文件:

MENS HEALTH^\^@ P

而实际文本应该是

MENS HEALTH P

我已经替换了“\u0000”,但“^\”仍然保留在字符串中。我不知道这个字符的代码是什么,所以我可以替换它。

当我在 intelliJ 编辑器中打开文件时,它显示为 FS 符号。

请建议我如何消除它。

谢谢,

您可以使用带有 String.replaceAll() 的正则表达式来替换这些字符。

注意反斜杠有一个special meaning需要转义(用反斜杠)。

"my\^@String".replaceAll("[\\^@]", "");

Online Demo

与其担心垃圾包含哪些字符,不如删除所有不是您想要保留的内容:

str = str.replaceAll("[^\w ]+", "");

这将删除任何不是 word 个字符或空格的字符。