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

标签 java string methods

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

最佳答案

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/

相关文章:

java - 创建一个方法来确定两个数字中较大的一个

java - 具有可变延迟的 ScheduledExecutorService

c - 将字符数组作为参数传递(C 内核代码)

java - Intellij 中的 Spring Boot 应用程序 : Debug takes 10x longer than Run

python - 将子字符串替换为列表中的项目

C#格式化一个字符串

typescript - 如何使幻像类型与 TypeScript 中的方法一起使用?

javascript - 将字符串转换为数组的方法

java - 简单的 WHILE 循环

java - iTextpdf PdfPTable 如何在网格中的任意位置添加单元格?