猿问

如何在单独的方法中编辑字符串中的特定字符?

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而不是这个本地方法这一事实是否会影响我编辑字符串的能力?


沧海一幻觉
浏览 129回答 1
1回答

幕布斯7119047

String是不可变的,如果你String用那个改变替换任何字符然后String创建新对象,所以我更喜欢使用StringBuilder这个public static StringBuilder replaceExclamation(StringBuilder userText){&nbsp; int i = 0;&nbsp;for ( i=0; i < userText.length(); ++i) {&nbsp; char currentChar = userText.charAt(i);&nbsp; if (currentChar == '!') {&nbsp; &nbsp; &nbsp;userText.setCharAt(i,'.');&nbsp; &nbsp; }&nbsp; }&nbsp; return userText;}或者你可以使用replace(char oldChar, char newChar)String result = userText.replace('!', '.');或者你可以使用replaceAll(String regex, String replacement)String result = userText.replaceAll("!", ".");
随时随地看视频慕课网APP

相关分类

Java
我要回答