Java 如果属性在映射中不存在,如何使用strSubstitutor将模板字符串中的值替换为null或空字符串
我有一根绳子Java 如果属性在映射中不存在,如何使用strSubstitutor将模板字符串中的值替换为null或空字符串,java,apache-commons,string-substitution,apache-commons-lang,apache-commons-lang3,Java,Apache Commons,String Substitution,Apache Commons Lang,Apache Commons Lang3,我有一根绳子 String templateString = "The ${animal} jumps over the ${target}."; valuesMap.put("animal", "quick brown fox"); StrSubstitutor sub = new StrSubstitutor(valuesMap); String resolvedString = sub.replace(templateString
String templateString = "The ${animal} jumps over the ${target}.";
valuesMap.put("animal", "quick brown fox");
StrSubstitutor sub = new StrSubstitutor(valuesMap);
String resolvedString = sub.replace(templateString);
但valuesMap中没有attr目标的条目。
最终解决方案是
敏捷的棕色狐狸跳过${target}
它需要为空,而不是${target}。templatestring中在映射中没有键的值应为空或null
必需的
那只敏捷的棕色狐狸跳过了树
如何处理这一点您的地图值地图
仅包含情侣键,值“动物”、“快速棕色狐狸”
,您必须将情侣“目标”和“
添加到地图中,如下所示:
String templateString = "The ${animal} jumps over the ${target}.";
valuesMap.put("animal", "quick brown fox");
valuesMap.put("target", ""); //<-- adding the new couple to the map
StrSubstitutor sub = new StrSubstitutor(valuesMap);
String resolvedString = sub.replace(templateString);
String templateString=“该${animal}跳过${target}。”;
价值Map.put(“动物”、“快速棕色狐狸”);
价值标的卖出价(“目标”和“)//刚才签入了strsubstitutor的文档。若我从外部api获取映射,那个么我们可以使用分隔符来设置响应您的答案的模板字符串中的默认值,若该映射为null,则不包括key。你如何处理这个案子?(键是动态的)@karthikckkn如果我很清楚您不想从外部api修改原始映射并设置空的默认值,在这种情况下,您可以在字符串模板中使用带有空默认值的:-
操作符,如${animal}跳过${target:-}
。