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;
    }

strings.xml里字符串拼接、占位符和常用替换符号

一、strings.xml文件里字符串拼接 ]> 联系电话:&telephone;

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

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

C#:注释、快捷键、转义字符、字符和字符串、变量命名规则、连接符和占位符、输入值存在string中、ToString

简单总结一点平时很常见的知识点: 1 注释: 单行注释// ; 多行注释 /*    */  ;文档注释  /// 文档注释:多用于解释类或者方法 /// ///   注释      /// 2 ...

字符串占位符的三种解决方案及其时间性能对比

简述:    最近在做Android性能优化的问题,看到之前在解决API接口问题时使用了占位符,本篇博客就来总结一下目前常用的三种解决方案,然后就三种方案的时间性能做一下对比。 字符串占位符的三种...

mybatis中#{}【占位符】和${}【字符串】拼接的区别

mybatis中#{}【占位符】和${}【字符串】拼接的区别#{} 表示一个占位符号,通过#{}可以实现 preparedStatement 向占 位符中设置值, 自动进行 java ...

如何:使用 Windows 窗体 TextBox 控件创建密码文本框 .NET Framework 2.0 其他版本 密码框是一种 Windows 窗体文本框,它在用户键入字符串时显示占位符。 创

如何:使用 Windows 窗体 TextBox 控件创建密码文本框 .NET Framework 2.0 其他版本 密码框是...

字符串格式化占位符

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

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

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

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

java POI导出多张图片到表格
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA字符串占位符替换
举报原因:
原因补充:

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