我想在Java中使用正则表达式实现以下目标
String[] paramsToReplace = {"email", "address", "phone"};
//input URL string
String ip = "http://www.google.com?name=bob&email=okATtk.com&address=NYC&phone=007";
//output URL string
String op = "http://www.google.com?name=bob&email=&address=&phone=";
URL 可以包含特殊字符,例如 %
最佳答案
尝试以下表达式:(email=)[^&]+
(将 email
替换为数组元素)并替换为组:input.replaceAll("("+ paramsToReplace[i] + "=)[^&]+", "$1");
String input = "http://www.google.com?name=bob&email=okATtk.com&address=NYC&phone=007";
String output = input;
for( String param : paramsToReplace ) {
output = output.replaceAll("("+ param + "=)[^&]+", "$1");
}
关于Java特殊字符正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8471290/