替换字符串中的字符

时间:2014-01-28 02:15:08

标签: java string

我正在替换字符串中的字符。必须有更好的方法来做到这一点,对吧?

public static String eqEq(String stringIn) {


    char[] stringArray;

    stringArray = stringIn.toCharArray();

    for (int i = 0; i < stringIn.length(); i++){

        if(stringArray[i] == '='){

            stringArray[i] = '?';
        }

        }

    String sReturn = new String(stringArray);
    return sReturn;
}

3 个答案:

答案 0 :(得分:4)

replace()出了什么问题?

public static String eqEq(String stringIn) {
    return stringIn.replace('=', '?');
}

请注意,replace()会替换所有次出现,但会使用纯文本搜索/替换,而replaceAll()则是replace()的正则结构版本。

另请注意,replace()有两个版本:一个版本具有char个参数(此处使用),另一个版本具有String参数,以防您要搜索/替换多个一个角色。

答案 1 :(得分:2)

您可以尝试String#replace,例如

stringIn = stringIn.replace('=', '?');

如果您想使用正则表达式,甚至可以使用String#repalceAll

您甚至可以使用StringBuilder

StringBuilder sb = new StringBuilder(value);
int index = -1;
while ((index = sb.indexOf("=")) != -1) {
    sb.replace(index, index + 1, "?");
}

选择是你的

答案 2 :(得分:1)

您可以在String类上使用replacereplaceAll方法,如下所示:

public static String eqEq(String stringIn) {
  stringIn.replace("=", "?");
}

OR

public static String eqEq(String stringIn) {
  stringIn.replaceAll("=", "?");
}

在示例字符串上查看此代码的live example(使用replaceAll)。