我正在替换字符串中的字符。必须有更好的方法来做到这一点,对吧?
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;
}
答案 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类上使用replace
或replaceAll
方法,如下所示:
public static String eqEq(String stringIn) {
stringIn.replace("=", "?");
}
OR
public static String eqEq(String stringIn) {
stringIn.replaceAll("=", "?");
}
在示例字符串上查看此代码的live example(使用replaceAll
)。