替换模式之间的文本

时间:2016-03-14 15:15:13

标签: java replace

我必须在模式之间替换文本。这是功能:

public String replace(String text) {
    String text = "My name is %NAME%.";
    String pattern = "%NAME%";
    String textReplaced = "";
    "Here comes the code"
    return textReplaced;
}

执行函数replace的结果(" Darius"); 必须是这样的字符串:"我的名字是Darius。"

我无法使用 replace() replaceFirst(),这是一个条件。

执行此实施的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

我不能使用正则表达式替换。我不知道你为什么这么想,但你可以使用replace()来完成它。

以下是代码段:

public String replace(String text) {
    String text = "My name is %NAME%.";
    String pattern = "%NAME%";
    String textReplaced = "Darius";

    String result = text.replace(pattern, textReplaced);
    System.out.println(result);
    return result;
}

输出:

My name is Darius.

或者,如果您不想使用replace(),那么您也可以执行以下操作:

public String replace(String text) {
    String text = "My name is %NAME%.";
    String pattern = "%NAME%";
    String textReplaced = "Darius";

    String[] result = text.split(" ");
    StringBuilder sb = new StringBuilder();
    for(int i = 0; i < result.length; i++) {
        sb.append(result[i].contains(pattern) ? textReplaced + " " : result[i] + " ");
    }

    return sb.toString();
}