java - 如何在 Java 中替换单个字符串中的多个单词?

标签 java

我正在编写一个程序来替换单个字符串中的多个单词。我正在使用这段代码,但它正在替换 word 但在两行不同的行中给出结果。我想替换多个单词并在一行中输出。

import java.util.*;
public class ReplaceString {
    public static void main(String[] args) {
        new ReplaceString().run();
    }

    public void run()
    {

        System.out.println("Input String:\n");////
        Scanner keyboardScanner = new Scanner(System.in);/////
        String inString = keyboardScanner.nextLine();/////
        String strOutput = inString.replace("call me","cm");
        System.out.println(strOutput);

        String strOutput1 = inString.replace("as soon as possible","asap");
        System.out.println(strOutput1);      

    }
}

最佳答案

如果你想在一条语句中完成,你可以使用:

String strOutput = inString.replace("call me","cm").replace("as soon as possible","asap");

或者,如果您有很多这样的替换,将它们存储在某种数据结构(例如二维数组)中可能更明智。例如:

//array to hold replacements
String[][] replacements = {{"call me", "cm"}, 
                           {"as soon as possible", "asap"}};

//loop over the array and replace
String strOutput = inString;
for(String[] replacement: replacements) {
    strOutput = strOutput.replace(replacement[0], replacement[1]);
}

System.out.println(strOutput);

关于java - 如何在 Java 中替换单个字符串中的多个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6745154/

相关文章:

java - 由于错误代码 : Failed to find configured root that contains,无法使用共享图像按钮

java - 压缩项目的 POM

java - Spring - 将 BindingResult 添加到新创建的模型属性

java - Android 上 Java lib 和 C++ dll 之间的性能

java - 使用 sa 帐户但不使用其他帐户的代码

java - 如何从 JTable 中获取第一个小时

java - 自定义对象数组的 Class.forName

java - Hibernate:检索未连接的行

java - Kotlin:在具有加密主页的 Linux 上:java.io.FileNotFoundException(文件名太长)

java - SWT 样式文本部分重画