给定以下变量
templateText = "Hi ${name}";
variables.put("name", "Joe");
我想使用以下代码将占位符$ {name}替换为值“ Joe”(不起作用)
variables.keySet().forEach(k -> templateText.replaceAll("\\${\\{"+ k +"\\}" variables.get(k)));
但是,如果我采用“旧式”方式,则一切都将正常运行:
for (Entry<String, String> entry : variables.entrySet()){
String regex = "\\$\\{" + entry.getKey() + "\\}";
templateText = templateText.replaceAll(regex, entry.getValue());
}
我肯定在这里想念的东西:)
您还可以使用Stream.reduce(identity,accumulator,combiner)。
identity
是减少函数的初始值accumulator
。
accumulator
减少identity
到result
,identity
如果流是 顺序的 ,这是下一个减少的条件。
永远不要在 顺序 流中调用此函数。它计算下一个identity
从identity
&result
在 并行 流。
BinaryOperator<String> combinerNeverBeCalledInSequentiallyStream=(identity,t) -> {
throw new IllegalStateException("Can't be used in parallel stream");
};
String result = variables.entrySet().stream()
.reduce(templateText
, (it, var) -> it.replaceAll(format("\\$\\{%s\\}", var.getKey())
, var.getValue())
, combinerNeverBeCalledInSequentiallyStream);
本文向大家介绍javascript字符串替换函数如何一次性全部替换掉,包括了javascript字符串替换函数如何一次性全部替换掉的使用技巧和注意事项,需要的朋友参考一下 JS字符串替换函数:Replace(“字符串1″, “字符串2″) 1.我们都知道JS中字符串替换函数是Replace(“字符串1″, “字符串2″),但是这个函数只能将第一次出现的字符串1替换掉,那么我们如何才能一次性全部替换
给定以下变量 我想使用以下代码将占位符${name}替换为值“joe”(这不起作用) 但是,如果我按照“老式”的方式来做,一切都运行得很完美: )我一定漏了点什么
本文向大家介绍js字符串完全替换函数分享,包括了js字符串完全替换函数分享的使用技巧和注意事项,需要的朋友参考一下 这几天用到了js字符串完全替换的功能,啥都不说,直接上代码,需要拷走即可: 以上代码实现了替换引号的功能,/g表示全部替换。其他需求,改改就能用。这里我做个笔记,希望对大家有所帮助!
null 我读过PDO的书。如何使用MySQL或MSSQL将代码更新为PDO?
我用Mockito写UT,我想替换我的mock函数(哪个DB选择操作) 使用我在测试类中编写的新函数(使用map模拟数据库选择); 我想用正确的键输入返回正确的值 我试图这样做使用ArgumentCaptor如下,但它没有工作,因为我想 我想当调用dataBaseSelect.selectDataFromDB时,它将被模拟,然后从MapSelect.selectDataFromMap返回结果,参数
函数名称:字符串替换 函数功能:字符串替换 函数方法 str,num = string.gsub(s,pattern,repl,n) 参数 类型 必填 说明 s string/table/number 是 原字符串 pattern string/table/number 是 待查找的字符串或模式匹配 repl string/table/number 是 待替换的字符串 n number 否 替换次