我可以用这个:

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

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

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


当前回答

String test = "09-09-2012";
String arr [] = test.split("-");
String ans = "";

for(String t : arr)
    ans+=t;

这是我从字符串中删除字符的示例。

其他回答

使用

public String replaceAll(String regex, String replacement)

将工作。

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

执行

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

返回:

lakjsdf xx

尝试使用重载来接受CharSequence参数(例如,String)而不是char:

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

如果你想用Java字符串做一些事情,Commons Lang StringUtils是一个很好的地方。

StringUtils.remove("TextX Xto modifyX", 'X');

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

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

package com.acn.demo.action;

public class RemoveCharFromString {

    static String input = "";
    public static void main(String[] args) {
        input = "abadbbeb34erterb";
        char token = 'b';
        removeChar(token);
    }

    private static void removeChar(char token) {
        // TODO Auto-generated method stub
        System.out.println(input);
        for (int i=0;i<input.length();i++) {
            if (input.charAt(i) == token) {
            input = input.replace(input.charAt(i), ' ');
                System.out.println("MATCH FOUND");
            }
            input = input.replaceAll(" ", "");
            System.out.println(input);
        }
    }
}