[编辑]显然,你不知道什么换人你要寻找的,或者没有在合理有限的地图它们。在这种情况下:
Pattern SUBST_Patt = Pattern.compile("\\{(\\w+)\\}");
StringBuilder sb = new StringBuilder(template);
Matcher m = SUBST_Patt.matcher(sb);
int index = 0;
while (m.find(index)) {
String subst = m.group(1);
index = m.start();
//
String replacement = "replacement"; // .. lookup Subst -> Replacement here
sb.replace(index, m.end(), replacement);
index = index + replacement.length();
}
看,我真的很期待+1。
[简单的方法] String.replace()
是一个“简单的更换” &易于使用,为您的目的;如果你想要正则表达式,你可以使用String.replaceAll()
。
对于多个动态置换:
public String substituteStr (String template, Map<String,String> substs) {
String result = template;
for (Map.Entry<String,String> subst : substs.entrySet()) {
String pattern = "{"+subst.getKey()+"}";
result = result.replace(pattern, subst.getValue());
}
return result;
}
这是快速&简单的方法,开始。
创建一个独立的字符串名称'uploadName”,它串联到父串 – gauravsapiens 2013-05-02 11:24:01
它不是静态的字符串,它是动态的字符串,那就是我在挣扎和眨眼的地方 – 2013-05-02 11:26:21
你已经问过这个问题,你为什么再问一次? http://stackoverflow.com/questions/16335539/java-split-and-replace-a-string-with-value/16335575#16335575 – Quetzalcoatl 2013-05-02 11:31:06