【发布时间】:2020-03-30 12:29:14
【问题描述】:
假设我们有一个字符串:string text = "Hello my name is $$name; and my surname is $$surname;"
它引用了 2 个变量,由双美元符号标识:name 和 surname
我们还有一个哈希图:
HashMap<String, String> variables = new HashMap<String, String>();
variables.put("name", "John");
variables.put("surname", "Doe");
如何使用匹配的正则表达式值作为哈希映射键替换/插入字符串中的变量? (也许不需要使用Regex,Java有这个实现)
最后,我希望变量 string text 等于 "Hello my name is John and my surname is Doe"
编辑:我的意思是在不知道密钥的情况下用哈希映射值替换密钥/变量。例如,我们有一个字符串,我们必须将其中的所有 $$variable; 值替换为 map[variable]。
替换这个字符串最快的方法是什么?
【问题讨论】:
-
您可以使用简单的查找/替换。或者选择成熟的模板引擎。如果您的地图中缺少变量,如何处理,如何输出双美元等问题......