我有一根绳子
String constantString="paramesh,ramesh,suresh";我想用维尼代替帕拉梅什,用马赫什代替拉梅什,用细绳代替苏雷什等等。
输出类似:venky,mahesh,fine etc
发布于 2018-07-12 11:26:30
如果需要进行多个替换,可以将它们存储在一个Map<String, String>中,然后使用String.replaceAll(String)而不是String.replace(String),因为在我看来,在另一个单词中(在paramesh中),您需要一个带有\b的正则表达式,这意味着单词绑定,Pattern.quote()在这里,以防有特殊字符破坏正则表达式。
Map<String, String> replacements = new HashMap<String, String>();
replacements.put("paramesh", "venky");
replacements.put("ramesh", "mahesh");
replacements.put("suresh", "fine");
String constantString="paramesh,ramesh,suresh";
for(Map.Entry<String,String> entry : replacements.entrySet()){
constantString = constantString.replaceAll("\\b" + Pattern.quote(entry.getKey()) + "\\b",
entry.getValue());
}https://stackoverflow.com/questions/51304345
复制相似问题