JAVA字符串占位符替换

转载 2015年11月20日 00:51:00

如果有字符串 “我是{0},我来自{1},今年{2}岁。 请问怎样用String的内置方法用替换掉字符串的占位符:比如“我是中国人,我来自北京,今年22岁”。

(1)JDK 中有正好有这功能:java.text.MessageFormat
而 java.text.MessageFormat 正好用的是 {0}, {1},所以String str = MessageFormat.format("我是{0},我来自{1},今年{2}岁", "中国人", "北京", "22");
MessageFormat.format 方法从 JDK 5 开始支持变参,可以直接用逗号添加参数。

(2)String str="我是{0},我来自{1},今年{2}岁";
str = str.replace("{0}", "中国人");
str = str.replace("{1}", "北京");
str = str.replace("{2}", "22");
System.out.println(str);
(3) public static void main(String[] args){
       String str="我是{0},我来自{1},今年{2}岁";
       String[] arr={"中国人","北京","22"};
       System.out.println(fillStringByArgs(str, arr));
    }
    
    private static String fillStringByArgs(String str,String[] arr){
        Matcher m=Pattern.compile("\\{(\\d)\\}").matcher(str);
        while(m.find()){
            str=str.replace(m.group(),arr[Integer.parseInt(m.group(1))]);
        }
        return str;
    }

相关文章推荐

字符串格式化占位符

String Format Specifiers This article summarizes the format specifiers supported by string format...

[优化]JavaScript 格式化带有占位符字符串

/** * Format a message with placeholder. * * Examples: * format("X{0}Y{1}Z{2}") : XYZ * format...

Java 泛型高级编程 ? 类型占位符的使用

import java.util.*; class Person { private String name; private int age; public Person (Stri...

Android之使用JAVA占位符(很实用)

小编虽然是学java出生,但工作之后就一直从事android开发,很多java基础都忘记完了,最近一年从ES换到了AS,原来的很多习惯都收到了挑战,比如我喜欢ES写方法的时候先在JAVA projec...

Java占位符

在Java中貌似很少有占位符这个概念

JAVA——泛型限定(占位符)

?通配符。也可以理解为占位符。 泛型的限定: ?extends E: 可以接受E类型或者E的子类型。上限 ?super E: 可以接收E类型或者E的父类型。下限 import java.u...

java占位符使用

java占位符使用 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()...

java POI导出多张图片到表格(占位符方式)

java POI导出多张图片到表格

ueditor关闭word转存功能,取消粘贴时自动把word图片替换为占位符

打开ueditor.all.js查找wordimage 找到如下代码 ///import core ///commands 本地图片引导上传 ///commandsName WordImage ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)