Java 模板变量替换——字符串替换器

  • 说明
  • 可选方法
    • org.apache.commons.text
    • java.text.MessageFormat
    • java.lang.String

说明

  • 这里分享 3 种方法,从功能最强大的开始

可选方法

org.apache.commons.text

  • 参考文档:https://commons.apache.org/proper/commons-text/javadocs/api-release/index.html
  • 代码:
     Map valuesMap = new HashMap();valuesMap.put("animal", "quick brown fox");valuesMap.put("target", "lazy dog");String templateString = "The ${animal} jumped over the ${target}.";StringSubstitutor sub = new StringSubstitutor(valuesMap);String resolvedString = sub.replace(templateString);
    
  • 输出:The quick brown fox jumped over the lazy dog.
  • 可以为变量设置默认值,格式为:${undefined.number:-1234567890},其中 undefined.number是变量名,:-是分隔符,1234567890是默认值。
  • 代码:
     Map valuesMap = new HashMap();valuesMap.put("animal", "quick brown fox");valuesMap.put("target", "lazy dog");String templateString = "The ${animal} jumped over the ${target}. ${undefined.number:-1234567890}.";StringSubstitutor sub = new StringSubstitutor(valuesMap);String resolvedString = sub.replace(templateString);
    
  • 输出:The quick brown fox jumped over the lazy dog. 1234567890.

java.text.MessageFormat

  • 代码:

    Object[] params = new Object[]{"hello", "!"};
    String msg = MessageFormat.format("{0} world {1}", params);
    
  • 输出:hello world!

java.lang.String

  • 代码:

    String s = String.format("My name is %s. I am %d.", "Andy", 18);
    
  • 输出:My name is Andy. I am 18.

Java 模板变量替换——字符串替换器相关推荐

  1. java模板变量_IntelliJ IDEA实时模板变量

    返回由当前方法返回的值的类型IntelliJ IDEA 实时模板中的模板变量允许用户输入.扩展模板后,变量将作为输入字段显示在编辑器中. IntelliJ IDEA 声明实时模板变量 模板中的变量以下 ...

  2. linux 给文件替换字符串/替换内容/替换某行 (shell,sed)

    本文是要讲linux 不打开文档/文件的情况下,替换文本内容. 打开文档,在文档/文件内替换内容的,可以用vim,可参考这篇文章vim 替换文本 . 话题相关 #linux 文件替换字符串 #sed ...

  3. js替换字符串,替换路径

    路径替换 var str='src="/Uploads/baidu/img/ccbv.jpg"'var reg = new RegExp('src="/Uploads/' ...

  4. linux替换某一行中字符串,linux 给文件替换字符串/替换内容/替换某行 (shell,sed)...

    本文是要讲linux 不打开文档/文件的情况下,替换文本内容. 打开文档,在文档/文件内替换内容的,可以用vim,可参考这篇文章vim 替换文本 . 话题相关 #linux 文件替换字符串 #sed ...

  5. java整形变量转换字符串_JAVA整型转换字符串以及相互转换的相关实例

    JAVA整型转换字符串以及相互转换的相关实例.java数据类型之间的转换.怎么把整数 int 转换成字串 String ?怎么把字符串 String 转换成整数 int类型? 整型与字符串转换实例: ...

  6. Java 模板变量替换——字符串替换器{}、${}、${}map

    // 直接使用hutool工具类即可 // format("this is {} for {}", "a", "b") => this ...

  7. java模板变量_java freemarker + word 模板 生成 word 文档 (变量替换,数据的循环,表格数据的循环,以及图片的替换)...

    1,最近有个需求,动态生成 Word 文当并供前端下载,网上找了一下,发现基本都是用 word 生成 xml 然后用模板替换变量的方式 1.1,这种方式虽然可行,但是生成的 xml 是在是太乱了,整理 ...

  8. java nul 字符_Java字符串替换和NUL(NULL,ASCII 0)字符?

    用空字符替换字符中的字符甚至在Java中工作吗?我知道'\ 0'会终止一个c字符串. 这取决于你如何定义工作.是否用'\0'替换了所有出现的目标字符?绝对! String s = "food ...

  9. java实现将指定字符串替换为制定长度的空格

    package try1;import java.util.LinkedList; import java.util.Queue; import java.util.Scanner;public cl ...

最新文章

  1. 网络资源(4) - extJS视频
  2. java编程数据溢出问题_Java数据溢出代码详解
  3. prototype.js ajax.request,javascript – Prototype和Ajax.Request范围
  4. 一文理解图像处理之HOG特征
  5. 一个会“说话”的油箱盖,告诉你每一滴油的去向
  6. 数据结构专题(二):2.7顺序表反转
  7. 单调栈:leetcode 84. 柱状图中最大的矩形/85最大矩形
  8. pip极速安装指定下载源
  9. 基于 HTML5 Canvas 的可交互旋钮组件
  10. 从球衣了解“红魔”曼联历史
  11. w ndows摄像头驱动怎么安,win10摄像头驱动程序怎么下载安装
  12. 小米路由器mini刷老毛子教程
  13. 微信小程序、小游戏反编译获取源码
  14. 鼠标macOS下定义快捷键(各品牌通用)
  15. KVM#TyporaKVM虚拟机笔记
  16. 1374:铲雪车(snow)
  17. javax.faces.FacesException: Unable to find CDI BeanManager的解决方法
  18. 32-Figma-谷歌表格插件替换数据方法
  19. stm32f103电子钟心得体会_STM32中的时钟
  20. java实现下载网络图片到本地

热门文章

  1. PCIe的内存地址空间、I/O地址空间和配置地址空间
  2. 游戏地图与场景设计常用名词
  3. 中国极地考察船“雪龙”号在南极碰撞冰山 目前人船安全
  4. IT项目开发团队建设与管理总结(转)
  5. 台式机与笔记本电脑BIOS启动热键整理
  6. 王者荣耀android看不见iOS,王者荣耀转区功能来了!iOS和安卓这个限制,终于消失了...
  7. matlab触发igbt电路设计,IGBT单相桥式无源逆变电路设计(纯电阻负载).doc
  8. 前端开发新人写简历的大概套路
  9. Ubuntu 重置登录密码
  10. Vue2 Element | 一文带你快速搭建网页界面UI