【问题标题】:How to replace a whole string with another in an array in Java如何用Java数组中的另一个字符串替换整个字符串
【发布时间】:2021-03-30 08:17:18
【问题描述】:

我想在数组中将字符串oldString 替换为字符串newString,如下所示:

for (int i = 0; i < text.length; i++) {
    if (text[i].equals(oldString)) {
        text[i] = text[i].replace(oldString, newString);
    }
}

用 Java 怎么做?

【问题讨论】:

标签: java arrays string replace


【解决方案1】:

在这种情况下您不需要使用replace(),因为您已经在检查text[i] 是否等于oldString,这意味着您要替换整个String,这意味着分配就足够了:

for (int i = 0; i < text.length; i++) {
   if (text[i].equals(oldString)) {
      text[i] = newString;
   }
}

另一方面,如果您想将等于oldStringtext[i] 的子字符串替换为newString,您可以这样写:

for (int i = 0; i < text.length; i++) {
    text[i] = text[i].replace(oldString,newString);
}

【讨论】:

    【解决方案2】:

    您可以在此数组的索引上使用IntStream,并以某种方式处理某些字符串:

    String[] text = {"Lorem", "oldString", "dolor", "sit", "amet"};
    
    IntStream.range(0, text.length)
            // to filter the certain strings, or you
            // can skip this line to process each string
            .filter(i -> text[i].equals("oldString"))
            // processing a string
            .forEach(i -> text[i] = text[i].replace("oldString", "newString"));
    
    System.out.println(Arrays.toString(text));
    // [Lorem, newString, dolor, sit, amet]
    

    另见:Replace certain string in array of strings

    【讨论】:

      猜你喜欢
      • 2013-12-03
      • 2021-06-15
      • 1970-01-01
      • 2019-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-28
      相关资源
      最近更新 更多