在Java中实现字符串的动态替换

createh511小时前技术教程4

比如消息通知,短信发送之类的我们肯定是要用到字符串模版的替换的

要在Java中实现字符串的动态替换,可以使用String.format方法或者MessageFormat类或者三方包。以下是使用这三种方法的示例

使用 String.format,适用于%s的替换

String name = "张三";
String url = "example-url";
String message = String.format("%s邀请你使用里享商业,点击com/%s下载里享商业,开启进一步沟通。", name, url);
System.out.println(message);

使用 MessageFormat,适用于{0}的替换

import java.text.MessageFormat;

String name = "张三";
String url = "example-url";
String message = MessageFormat.format("{0}邀请你使用里享商业,点击com/{1}下载里享商业,开启进一步沟通。", name, url);
System.out.println(message);

第三方库,适用于${name}的替换

引入依赖包commons-text

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-text</artifactId>
            <version>1.12.0</version>
        </dependency>


    public static void main(String[] args) {
        String template = "${name}邀请你使用里享商业,点击com/${url}下载里享商业,开启进一步沟通。";
        String name = "张三";
        String url = "example-url";

        Map<String, String> valuesMap = new HashMap<>();
        valuesMap.put("name", name);
        valuesMap.put("url", url);

        StringSubstitutor sub = new StringSubstitutor(valuesMap);
        String message = sub.replace(template);
        System.out.println(message);
    }

相关文章

在 JavaScript 中替换所有指定字符 3 种方法

在 JS 没有提供一种简便的方法来替换所有指定字符。 在 Java 中有一个 replaceAll() ,replaceAll(String regex, String replacement))方法...

正则表达式学习之替换分组练习

切割案例小练习:字符串77 23 91 99 31 排序输出23 31 77 91 99分析:1、 字符切割数组2、 字符数组转换成数字数组3、 排序4、 遍历拼接字符串代码结果替换案例小练习字符串:...

Shell语言搜索路径、字符串替换、易用性

若文章对您有帮助,欢迎关注 程序员小迷 。助您在编程路上越走越好!Shell为了方便操作内核,一般为动态、弱类型语言。变量不管是什么类型,本质都是字符串,根据实际情况做转换。字符串替换新产品升级有时就...

Java面试“字符串三兄弟”String、StringBuilder、StringBuffer

Java面试中的“字符串三兄弟”:String、StringBuilder与StringBuffer在Java的世界里,字符串是一个非常重要的数据类型。而在众多的字符串操作类中,String、Stri...

漫画:腾讯面试题,请实现把字符串中的空格替换为“%20”

面试现场题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。import java.u...