我可以用这个:

String str = "TextX Xto modifyX";
str = str.replace('X','');//that does not work because there is no such character ''

是否有一种方法来删除字符X的所有出现从一个字符串在Java?

我尝试了这个,不是我想要的:str.replace('X',' ');//替换为空格


当前回答

使用replaceAll代替replace

str = str.replaceAll("X,"");

这应该会给你想要的答案。

其他回答

你可以使用str = str.replace("X", "");如前所述,你会没事的。“”不是空字符(或有效字符),而“\0”是。

所以你可以使用str = str.replace('X', '\0');代替。

…另一个λ 从原始字符串中复制一个新字符串,但省略要删除的字符

String text = "removing a special character from a string";

int delete = 'e';
int[] arr = text.codePoints().filter( c -> c != delete ).toArray();

String rslt = new String( arr, 0, arr.length );

给出:从字符串中删除一个特殊字符

在替换期间,您需要将需要删除的字符放在方括号内。示例代码如下所示:

String s = "$116.42".replaceAll("[$]", "");

我喜欢在这种情况下使用RegEx:

str = str.replace(/X/g, '');

g是全局的,所以它会遍历你的整个字符串,把所有X替换为"; 如果你想同时替换X和X,你可以简单地说:

str = str.replace(/X|x/g, '');

(看我的小提琴在这里:小提琴)

使用

public String replaceAll(String regex, String replacement)

将工作。

使用str.replace("X", "");

执行

"Xlakjsdf Xxx".replaceAll("X", "");

返回:

lakjsdf xx