为了账号安全,请及时绑定邮箱和手机立即绑定

Java 字符串中{ }占位符替换方面的问题

Java 字符串中{ }占位符替换方面的问题

慕莱坞森 2019-02-24 07:44:32
怎么使用map中的key,替换字符串中{}中的占位符? 代码如下,请大神赐教…… String str = "我是{name},我来自{city},今年{age}岁"; Map<String, String> mapstring = new HashMap<String, String>(); mapstring.put("name", "小明"); mapstring.put("age", "15"); mapstring.put("city", "北京"); …………………… System.out.println("我是小明,我来自北京,今年15岁");
查看完整描述

4 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

不太清楚为什么有这样的需求, 不过下面的代码应该满足需求:

public class Test {

    public static void main(String[] args) throws Exception {
        String str = "我是{name},我来自{city},今年{age}岁";
        Map<String, String> mapstring = new HashMap<>();
        mapstring.put("name", "小明");
        mapstring.put("age", "15");
        mapstring.put("city", "北京");

        for (Map.Entry<String, String> entry : mapstring.entrySet()) {
            str = str.replace("{" + entry.getKey() + "}", entry.getValue());
        }

        System.out.println("我是小明,我来自北京,今年15岁");
        System.out.println(str);
    }
}
查看完整回答
反对 回复 2019-03-01
?
潇湘沐

TA贡献1816条经验 获得超6个赞

刚写完答案 ,楼上正解
String a = "我是{name},我来自{city},今年{age}岁";

    Map<String, String> mapstring = new HashMap<String, String>();
    mapstring.put("name", "小明");
    mapstring.put("age", "15");
    mapstring.put("city", "北京"); 
    if(!mapstring.isEmpty()&&mapstring!=null){
        for (Map.Entry<String, String> entry : mapstring.entrySet()) {
            a = a.replace("{"+entry.getKey()+"}", entry.getValue());
        }
    }
查看完整回答
反对 回复 2019-03-01
?
狐的传说

TA贡献1804条经验 获得超3个赞

人家要的是匹配。

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 5523 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号