Java 在模式之间替换文本

Java 在模式之间替换文本,java,replace,Java,Replace,我必须在模式之间替换文本。以下是函数: public String replace(String text) { String text = "My name is %NAME%."; String pattern = "%NAME%"; String textReplaced = ""; "Here comes the code" return textReplaced; } 执行函数替换(“Darius”)的结果; 一定是这样的字符串:“我的名字叫大

我必须在模式之间替换文本。以下是函数:

public String replace(String text) {
    String text = "My name is %NAME%.";
    String pattern = "%NAME%";
    String textReplaced = "";
    "Here comes the code"
    return textReplaced;
}
执行函数替换(“Darius”)的结果; 一定是这样的字符串:“我的名字叫大流士。”

我不能使用replace()replaceFirst(),这是一个条件

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

我不能使用regex replace。我不知道您为什么会这样想,但您只需使用
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();
}
公共字符串替换(字符串文本){
String text=“我的名字是%name%”;
字符串模式=“%NAME%”;
字符串textReplaced=“Darius”;
字符串[]结果=text.split(“”);
StringBuilder sb=新的StringBuilder();
for(int i=0;i
为什么不能使用
replace
replace
不使用正则表达式。
replace()
不使用正则表达式,但
replaceAll()
使用正则表达式。@MarioNavarroClaras如果让我们这样做,您将如何从这个练习中学到什么?说真的。@MarioNavarroClaras请读一下:你不想返回
结果吗?@Andy对不起,我的错!:)@MarioNavarroClaras请检查更新的解决方案。