public static String replaceExclamation(String userText){
int i = 0;
for ( i=0; i < userText.length(); ++i) {
char currentChar = userText.charAt(i);
if (currentChar == '!') {
userText.charAt(i) = ".";
}
}
return userText;
}
我正在尝试替换所有的“!”在带有“.”的字符串中但我遇到了意外的类型错误。
这是什么意思以及如何解决它?
此外,userText 来自 main 而不是此本地方法这一事实是否会影响我编辑字符串的能力?
最佳答案
String
是不可变的,如果您替换 String
中的任何字符,则通过该更改创建新的 String
对象,所以我更喜欢使用 StringBuilder
为此
public static StringBuilder replaceExclamation(StringBuilder userText){
int i = 0;
for ( i=0; i < userText.length(); ++i) {
char currentChar = userText.charAt(i);
if (currentChar == '!') {
userText.setCharAt(i,'.');
}
}
return userText;
}
或者您可以使用replace(char oldChar, char newChar)
String result = userText.replace('!', '.');
或者您可以使用replaceAll(String regex, String replacement)
String result = userText.replaceAll("!", ".");
关于java - 如何在单独的方法中编辑字符串中的特定字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55094877/