`

JAVA字符串占位符替换

 
阅读更多

JAVA字符串占位符替换  

 ---------------------------------------------------------------
 public static void method1(){
    String domain = "www.ykmaiz.com";//定义第一个值
    int iVisit = 0;//定义第二个值
    System.out.println(String.format("该域名%s被访问了 %s 次.", domain, iVisit));//在控制台输出
    }
    public static void method2(){
String[] strs = {"张三","男","30"};
String pattern = "性别是{1},我叫{0},年龄是{2}岁";
String format = MessageFormat.format(pattern, strs);
System.out.println(format);
        }
------------------------------------------

如果有字符串 “我是{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;
    }

分享到:
评论

相关推荐

    java字符串中${}或者{}等的占位符替换工具类

    今天小编就为大家分享一篇关于java字符串中${}或者{}等的占位符替换工具类,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    Json对象替换字符串占位符实现代码

    例如: 含有占位符的字符串hello,{name},your birthday is {birthday }; 提供的Json对象{name: “czonechan”, birthday : “1989-07-02” } ; 替换后为 hello,czonechan,your birthday is 1989-07-02。 实现代码: ...

    AndroidLintPlaceholderCheck:[已弃用] 自定义 Android lint 检查 XML 布局文件中的占位符

    虽然将字符串硬编码到布局中绝对是不好的做法,但有几个很好的理由可以使用占位符: 获得有意义的布局概览 查看文本外观(字体大小、颜色、样式等) 检查正确的包装 … 那么,字符串和占位符有什么区别呢? 字符...

    exaltedandroid:Onyx Path 的“尊贵”角色扮演游戏的随机生成器

    在 Google Play 上获取应用程序: : ... 带有命名占位符personal和possessive字符串将替换为引擎给出的命名值:“ 个人的是主要的英雄所有格年龄。” 在触发类中调用 Java 方法rollDirection字符串:“您在 %rollD

    疯狂JAVA讲义

    9.6.4 使用MessageFormat处理包含占位符的字符串 349 9.6.5 使用类文件代替资源文件 350 9.6.6 使用NumberFormat格式化数字 350 9.6.7 使用DateFormat格式化日期 352 9.7 本章小结 355 本章练习 355 第10章 ...

    javalog4j源码-SLF4J-Migrator:这是一个Python脚本,可让您将Java源代码中的JakartaCommonsLogg

    java log4j源码SLF4J迁移器 这是一个Python脚本,可让您将Java源代码中的Jakarta Commons Logging&Log4j迁移到SLF...log子句将基于标准SLF4J占位符,而不是字符串连接 - log . info( " UserName= " + username + " had

    IETI-JPA-MongoDB

    2.3使用MongoDB的JPA 创建一个与MongoDB连接的Spring Boot应用程序。第1部分:基本的Mongo DB配置和Spring Boot集成在上创建一个MongoDB Atlas帐户: 选择... 在使用它之前,将占位符替换为先前创建的用户的密码。 克

    JPAwithMongoDB

    2.3使用MongoDB的JPA 创建一个与MongoDB连接的Spring Boot应用程序。 第1部分:基本的Mongo DB配置和Spring Boot集成 在上创建一个MongoDB Atlas帐户: ... 在使用它之前,将占位符替换为先前创建的用户的密码。 克

    IETI-INTRODUCCI-N-JPA---MONGODB

    2.3使用MongoDB的JPA 创建一个与MongoDB连接的Spring Boot应用程序。第1部分:基本的Mongo DB配置和Spring Boot集成在上创建一个MongoDB Atlas帐户: 选择... 在使用它之前,将占位符替换为先前创建的用户的密码。 克

    IETI1-JPAwithMongoDB

    2.3使用MongoDB的JPA 创建一个与MongoDB连接的Spring Boot应用程序。 第1部分:基本的Mongo DB配置和Spring Boot集成 ... 在使用它之前,将占位符替换为先前创建的用户的密码。 克隆此仓库。 在名为application.yml

    gcsearch:Eclipse 的谷歌代码搜索插件

    搜索引擎 该项目的目的是提供直观的界面,用于直接从您可爱的 Eclipse IDE 中通过 Google 代码搜索搜索公共源代码。 安装 您必须有 Eclipse 3.5 及更高版本。... 该字符串可能包含以下占位符: %FILE% - 搜索结果文件

    Popular-Movies-App:此应用程序从TheMoviesDB获取最受欢迎或评分最高的电影

    指示 请在第15行的以下文件中设置您自己的Api密钥 app / src / main / java / ... 用您自己的moviedb API密钥值替换YOUR_API_KEY占位符 公共静态最终字符串API_KEY =“ YOUR_API_KEY”;

    popular-movies:Udacity Android开发人员Nanodegree。 项目1和2

    因此,一旦有了API KEY,就需要用真实有效的API KEY值替换strings.xml资源文件中的“ PLACE_API_KEY_HERE”占位符(“ themoviedb_api_key”字符串值): app / src / main / res / values / strings.xml: ...

    spring-cloud-config-example:Spring Cloud Config服务器和客户端示例

    Spring Cloud Config服务器和...转到http://localhost:8080/whoami/{username}用任何字符串值替换{username}占位符 您会看到带有传递的{username}和用户角色的欢迎消息,该消息直接从ConfigService加载 使用的教程

    Tcl_TK编程权威指南pdf

    第4章 tcl中的字符串处理 string命令 append命令 format命令 scan命令 binary命令 相关章节 第5章 tcl列表 tcl列表 构建列表 获取列表元素 修改列表 搜索列表 对列表进行排序 split命令 join命令 ...

    HTML开发王

    3.5.5 文本字符串 3.5.6 使用uri 3.5.7 使用颜色 3.5.8 使用长度 3.5.9 内容类型(mime类型) 3.5.10 语言代码 3.5.11 字符编码 3.5.12 单字符 3.5.13 日期和时间 3.5.14 链接类型 3.5.15 介质描述符 3.5.16 脚本数据 ...

    ZendFramework中文文档

    1. Introduction to Zend Framework 1.1. 概述 1.2. 安装 2. Zend_Acl 2.1. 简介 2.1.1. 关于资源(Resource) 2.1.2. 关于角色(Role) 2.1.3. 创建访问控制列表(ACL) ...2.1.5. 定义访问控制 ...

    Eclipse权威开发指南2.pdf

    3.2.9 字符串外部化..... 87 3.2.10 生成Javadoc.. 88 3.2.11 在不同的JRE下编写 Java代码..... 90 3.2.12 编译代码..... 91 3.2.13 Eclipse与Ant的集成..... 92 3.3 Java元素的使用...... 94 3.3.1 文件夹..... 94...

    Eclipse权威开发指南3.pdf

    3.2.9 字符串外部化..... 87 3.2.10 生成Javadoc.. 88 3.2.11 在不同的JRE下编写 Java代码..... 90 3.2.12 编译代码..... 91 3.2.13 Eclipse与Ant的集成..... 92 3.3 Java元素的使用...... 94 3.3.1 ...

Global site tag (gtag.js) - Google Analytics