Java特殊字符正则表达式

标签 java regex

我想在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/

相关文章:

php - 正则表达式 PHP,将所有链接与特定文本匹配

regex - Perl 正则表达式/(\r\n|\r|\n)/

java - String.valueOf() 返回空字符串而不是 null

java - 由 : java. security.KeyException 引起:错误数据

java - 使用正则表达式sql或java进行数据清理

c# - 在大文件中搜索和替换正则表达式而不会出现 OutOfMemoryException

c# - 正则表达式替换 - 忽略链接中的内容

java - 正确从 C# 运行 Java 应用程序

java - 用动态 JVM 语言补充 JUnit 测试电池

java - 在 list 文件中设置主类的路径