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

怎么使用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岁");
慕莱坞森
浏览 5636回答 4
4回答

红颜莎娜

不太清楚为什么有这样的需求, 不过下面的代码应该满足需求: 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); } }

潇湘沐

刚写完答案 ,楼上正解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()); } }

狐的传说

人家要的是匹配。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java