java中有啥方法可以读取占位符的字符串,并且把占位符替换成参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中有啥方法可以读取占位符的字符串,并且把占位符替换成参数相关的知识,希望对你有一定的参考价值。

我现在是从资源文件中读取一个字符串,这个字符串里面有占位符,读取结果如:xxxx0xxx1。现在要用一个方法把参数带入0和1中,java中好像有内置的方法,请问是什么,如果没有,求帮忙来个封装的类。谢谢

直接调用 MessageFormat.format就可以满足你的条件:
MessageFormat.format("xxxx0xxx1", new Object[]“a”, "b");或者用
MessageFormat.format("xxxx0xxx1", a, b);这样就可以替换,但是注意的是占位符只能是0,1之类的,且从0开始,如果你有自定义的占位符,可以先替换成这样的
参考技术A 直接用java2word 下载安装版 把安装目录下面的jar包考到你的工程下面 然后根据文档调用方法就可以了 很简单 很实用 封装了很全面的方法

最常用两种java中的占位符的使用

先介绍一下format是什么:

Java中允许我们对指定的对象进行某种格式化,从而得到我们想要的格式化样式。而format可以帮助我们从某种格式转化到我们想要的格式的一种工具。

第一种:使用%s占位,使用String.format转换


public class Test {
    public static void main(String[] args) {
        String url = "我叫%s,今年%s岁。";
        String name = "小明";
        String age = "28";
        url = String.format(url,name,age);
        System.out.println(url);
    }
}

控制台输出:
我叫小明,年28岁。

第二种:使用{1}占位,使用MessageFormat.format转换


public class Test {
    public static void main(String[] args) {
        String url02 = "我叫{0},今年{1}岁。";
        String name = "小明";
        String age = "28";
        url02 = MessageFormat.format(url02,name,age);
        System.out.println(url02);
    }
}

控制台同样输出:
我叫小明,今年28岁。


发现了一个很精华的博客,关于format的详细解析见这里:https://www.jianshu.com/p/c8f16cab35e1#

以上是关于java中有啥方法可以读取占位符的字符串,并且把占位符替换成参数的主要内容,如果未能解决你的问题,请参考以下文章

java中两种占位符的使用方式

如何在格式字符串中设置占位符的颜色

具有许多占位符的 ItemStack

Java 占位符使用 和 修饰符

Lua中string.format占位符的使用

更改占位符的字体系列