Java 替换字符串中的字符

Java 替换字符串中的字符,java,regex,string,replaceall,Java,Regex,String,Replaceall,嗨,我想替换字符串中的字符。 我的问题是,一开始你不知道它是哪个字符,所以在某些情况下,当我的字符是例如“+”时,我会收到一条错误消息。我不希望我的char被解释为regex,那么我应该怎么做呢 May代码应该是这样的: String test = "something"; char ca = input.chatAt(0); input = input.replaceAll("" + ca, ""); 我希望你能帮我。那就别用正则表达式了 input = input.replace(Stri

嗨,我想替换字符串中的字符。 我的问题是,一开始你不知道它是哪个字符,所以在某些情况下,当我的字符是例如“+”时,我会收到一条错误消息。我不希望我的char被解释为regex,那么我应该怎么做呢

May代码应该是这样的:

String test = "something";
char ca = input.chatAt(0);
input = input.replaceAll("" + ca, "");

我希望你能帮我。

那就别用正则表达式了

input = input.replace(String.valueOf(ca), "");
String
replaceAll
方法将正则表达式的
String
表示形式作为参数

replace
方法不起作用

请参阅。

实际替换方法可能不明确,在替换时,让我们在“zzz”字符串中说“zz”->“xy”(结果将是“xyz”而不是“zxy”)

反过来,replaceAll更灵活,它的行为是严格确定的。不用说,它比替换更昂贵

当然,在您的情况下,replace是最佳选择。

您可以在String类中使用replace(Char oldChar,Char newChar)函数或使用以下函数:

String replaceChar(String input, char oldChar, char newChar){
    StringBuffer sb = new StringBuffer();    
    for(int i = 0; i<input.length(); i++){
        char c = input.charAt(i);
        if(c == oldChar)
             sb.append(newChar);
        else
             sb.append(c);
    }
    return sb.toString();
}
String replaceChar(字符串输入,char oldChar,char newChar){
StringBuffer sb=新的StringBuffer();

对于(int i=0;i),如果要用另一个文本字符串替换一个文本字符串,请使用
string.replace(from,to)
。要找到这些简单的解决方案,只需阅读javadoc即可。我的代码可以完美地处理不是“+”、“*”、“?”…的每个字符,但这些字符也应该可以使用
string.replace()
而不是
String.replaceAll()
。谢谢!我没想到会这么容易。