java - 如何使用 Java 正则表达式替换 URL 中的所有特殊字符?

标签 java regex

我正在尝试使用正则表达式来转换 url 中的特殊字符。这是我的示例代码:

String formatUrl = "index.php?title=Test/enu/test/Tips_%26_Tricks/Tips_and_Tricks";
formatUrl = formatUrl.replaceAll("[^a-zA-Z0-9]" , "-");

我想做的是转换 url 中的特殊字符,例如 ?_%。为“-”,不包括“/”。

我代码中的正则表达式将所有结果转换为

index-php-title-Test-enu-test-Tips--26-Tricks-Tips-and-Tricks

但我希望它是

index-php-title-Test/enu/test/Tips--26-Tricks/Tips-and-Tricks

任何指针将不胜感激。

最佳答案

您可以将您的 / 添加到正则表达式中:

"[^a-zA-Z0-9/]"

关于java - 如何使用 Java 正则表达式替换 URL 中的所有特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7046915/

相关文章:

java - SimpleDateFormat 解析时间为一小时(使用 RFC 1123,夏季为 GMT)

java - Eclipse CVS - 警告 : commitinfo line contains no format strings

java - 正则表达式 - 可选的正向回顾

javascript - 正则表达式可避免两个搜索词之间出现标点符号或任何不需要的字符

javascript - 正则表达式也应该适用于 '-'

java - 找不到参数 org.gradle.api.Project 的方法 android()

java - 添加一个节点到循环链表

java - 如何在 javafx 的透明阶段创建非透明对象?

regex - 如何在正则表达式中允许使用任何字符?

javascript - 如何从字符串中删除特定的特殊字符以及所有字母