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

Sha*_*mik 2 java regex

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

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

我想要做的是转换网址中的特殊字符,例如?_%." - "不包括"/".

我的代码中的正则表达式将输出的所有内容转换为

index-php-title-Test-enu-test-Tips--26-Tricks-Tips-and-Tricks
Run Code Online (Sandbox Code Playgroud)

但我希望它是

index-php-title-Test/enu/test/Tips--26-Tricks/Tips-and-Tricks
Run Code Online (Sandbox Code Playgroud)

任何指针将不胜感激.

Pau*_*aul 9

你可以把你/加入正则表达式:

"[^a-zA-Z0-9/]"
Run Code Online (Sandbox Code Playgroud)


Jon*_*n M 6

formatUrl = formatUrl.replaceAll("[^a-zA-Z0-9/]" , "-");
Run Code Online (Sandbox Code Playgroud)