怎么使用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);
}
}

潇湘沐
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());
}
}
添加回答
举报
0/150
提交
取消