从字符串中删除 ASCII 符号

Moo*_*ose 2 java eclipse ascii

我需要摆脱一个看起来与文本中的男性 ascii 符号完全相同的字符- ?。但是,它不是标准的 ASCII 符号,因为如果我将它粘贴到 StackExchange 上,它会显示如下:

在此处输入图片说明

如何替换字符串中的字符?我试过将字符直接粘贴到 Eclipse 中,但不幸的是这不起作用(粘贴到 Eclipse 时它看起来与上面的图像完全一样)。但是在使用搜索功能时,您可以在 Notepad++ 中看到该符号:

在此处输入图片说明

但是,当内联显示时,它看起来像这样:

在此处输入图片说明

编辑: @Greg-449 的回答,我已经尝试过了,但该字符仍保留在字符串中。我不认为这是默认字符。我会告诉你在哪里可以从网站上引用它:

曜越:机箱 > Versa > Versa H21

如果您突出显示规格并选择,View selection source您会注意到它开始出现在第 63 行(optional).

如何从字符串中删除此符号?如果可能的话,有没有办法排除一般的奇怪符号?

编辑 2。在尝试了两个建议的答案后,我仍然无法将它从字符串中删除。我现在看到我可能遗漏的一个关键部分是文本从网站复制到 Microsoft Excel,然后复制到 Java Applet (TextArea),从中进行分析和操作。即使在文本区域中不可见,在操作后复制回 Excel 时它仍然保留在那里。

测试的代码是:

String descript = textArea.getText();
descript = descript.replace('\u000B', ' ');
textArea.setText(descript);
Run Code Online (Sandbox Code Playgroud)

将此文本带回 Excel 时,该字符将保留。

gre*_*449 5

这是一个 Unicode 符号,因此要直接粘贴它,您需要使用合适的编码(例如 UTF-8)编辑文件,并且您需要使用可以显示该符号的字体。

在 Java 字符串中,您始终可以使用 Unicode 转义符来表示字符。男性符号是 Unicode U+2642 所以字符串是:

"\u2642"
Run Code Online (Sandbox Code Playgroud)

更新:查看您引用的网站,该字符实际上是一个“垂直制表符 (VT)”字符,Unicode U+000B,它解释了“VT”以查看“内联显示”。您可以使用

"\u000B"
Run Code Online (Sandbox Code Playgroud)

为了这。

使用类似的东西

String newString = oldString.replace('\u000B', ' ');
Run Code Online (Sandbox Code Playgroud)

获得一个新的字符串,其中 VT 被空格替换。