該函數用於用相應的值替換字符串中的某些子字符串。替換字符串中的多個子字符串
//地圖(string_to_replace,string_to_replace_with)
String template = "ola ala kala pala sala";
StringBuilder populatedTemplate = new StringBuilder();
HashMap<String, String> map = new HashMap<>();
map.put("ola", "patola");
map.put("pala", "papala");
int i=0;
for (String word : template.split("'")) {
populatedTemplate.append(map.getOrDefault(word, word));
populatedTemplate.append(" ");
}
System.out.println(populatedTemplate.toString());
此上述功能工作正常,如果要被替換字符串爲「「(空格)所包圍。
Ex- String =>「嘿{how} are $ = you」 如果要替換的子字符串是「嗨」或「你」,那麼它工作正常。問題是我想要替換「如何」和「你」。
如何在不增加複雜度的情況下實現這一目標?
爲什麼不'template.replace(string_to_replace,string_to_replace_with)'往往你需要? PS:http://stackoverflow.com/questions/1324676/what-is-a-word-boundary-in-regexes可能工作,否則。 – zapl
@zapl這個問題與替換是相關的。即讓我想將「如何」替換爲「是」,將「是」替換爲「OK」。在第一次迭代之後,字符串將是「嘿,你是$你」。並在第二次迭代「嘿{ok}確定$ =你」之後。指出錯誤的輸出。它應該是「嗨,你好」$ =你「 – tarun14110