java – 用其他东西替换花括号内的内容(例如{1})[复制]
发布时间:2020-12-15 02:00:48 所属栏目:Java 来源:网络整理
导读:参见英文答案 Java: String formatting with placeholders????????????????????????????????????3个 我有一个字符串如下 Hey {1},you are {2}. 这里1和2是键,其值将动态添加. 现在我需要用1代表的值替换{1},然后我需要用上面句子中2代表的值替换{2}. 我该怎
参见英文答案 >
Java: String formatting with placeholders????????????????????????????????????3个
我有一个字符串如下 Hey {1},you are {2}. 这里1和2是键,其值将动态添加. 现在我需要用1代表的值替换{1},然后我需要用上面句子中2代表的值替换{2}. 我该怎么做? 我知道字符串的分割功能是什么,我非常清楚,通过该功能,我可以做我想做的事,但我正在寻找更好的东西. 注意:我事先并不知道这些键是什么.我也需要检索密钥.然后根据键我需要替换字符串中的值. 解决方法
感谢
https://stackoverflow.com/users/548225/anubhava这个…… :).你可以这样做:
public static void main(String[] args) { String s = "Hey {1},you are {2}."; HashMap<Integer,String> hm = new HashMap(); hm.put(1,"one"); hm.put(2,"two"); Pattern p = Pattern.compile("({d+})"); Matcher m = p.matcher(s); while (m.find()) { System.out.println(m.group()); String val1 = m.group().replace("{","").replace("}",""); System.out.println(val1); s = (s.replace(m.group(),hm.get(Integer.parseInt(val1)))); System.out.println(s); } } 输出: Hey one,you are two. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |