ReplaceAll with java8 lambda functions

前端 未结 6 1693
清歌不尽
清歌不尽 2021-01-02 04:57

Given the following variables

templateText = \"Hi ${name}\";
variables.put(\"name\", \"Joe\");

I would like to replace the placeholder ${na

6条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-02 05:56

    Your code should be changed like below,

    String templateText = "Hi ${name}";
    Map variables = new HashMap<>();
    variables.put("name", "Joe");
    templateText = variables.keySet().stream().reduce(templateText, (originalText, key) -> originalText.replaceAll("\\$\\{" + key + "\\}", variables.get(key)));
    

提交回复
热议问题