当前位置:   article > 正文

【开发经验】java占位符对应key替换_java 字符串 占位符 指定key

java 字符串 占位符 指定key


前言

开发的时候经常会有占位符的替换例如mybatis的xml对sql的替换。

select * from t_user where id=#{id}

或者短信模板的替换,貌似发短信都需要有固定的模式,只能发送固定格式的短信。

1.尊敬的#{name},您的验证码为#{code}
2.尊敬的#{name},#{快递名称}提醒您,您的包裹已经到了#{位置},请注意查收,如果有疑问,请联系#{快递小哥},联系电话#{小哥电话}。

或者超链接替换

http://www.baidu.com?userId=#{userId}&token=#{token}

如上,一些需要文本替换的场景,java中String.format ()方法可以对%s进行顺序的替换,但是有些场景可能不知道有几个占位符,所以就比较尴尬。


一、apache commons-text占位符替换

apache commons-text提供了相对简便的占位符替换的方式。
示例代码。
引入jar。

 <dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-text</artifactId>
      <version>1.8</version>
  </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
	public static void main (String[] args)
	{
		Map<String,String> valuesMap = new HashMap ();
		valuesMap.put("name", "张三");
		valuesMap.put("code", "1234");
		String templateString = "您好 ${name},您的短信验证码是 ${code}.";
		StringSubstitutor sub = new StringSubstitutor(valuesMap);
		String resolvedString = sub.replace(templateString);
		System.out.println (resolvedString);
	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

您好 张三,您的短信验证码是 1234.

如上示例,可实现对应key替换。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/829763
推荐阅读
相关标签
  

闽ICP备14008679号