我必须在模式之间替换文本。这是功能:
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(),这是一个条件。
执行此实施的最佳方法是什么?
答案 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();
}