Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java正则表达式用破折号替换特殊字符和空格_Java_Regex - Fatal编程技术网

java正则表达式用破折号替换特殊字符和空格

java正则表达式用破折号替换特殊字符和空格,java,regex,Java,Regex,我有下面的字符串 String model = "Town & Country"; 我想用破折号和小写字母替换特殊字符和空格,以获得一个干净的url 范例 "town-country" 我尝试了以下代码 "Town & Country".replaceAll("[^A-Za-z0-9]", "-").toLowerCase(); 但我最终得到了以下输出 town---country 有人能帮我处理正则表达式,这样它就可以正常工作了吗?如果有多个空格,我想把它缩小为一个空格

我有下面的字符串

String model = "Town & Country";
我想用破折号和小写字母替换特殊字符和空格,以获得一个干净的url

范例

"town-country"
我尝试了以下代码

"Town & Country".replaceAll("[^A-Za-z0-9]", "-").toLowerCase();
但我最终得到了以下输出

town---country

有人能帮我处理正则表达式,这样它就可以正常工作了吗?如果有多个空格,我想把它缩小为一个空格,用破折号代替。如果有一个很好的java库可以做到这一点,我会对它感兴趣,但是我不想使用plus

很接近,只需向表达式中添加一个量词,即可使其匹配多个字符

/[^A-Za-z0-9]+/
(注意末尾的
+

因此,您的代码应该是:

"Town & Country".replaceAll("[^A-Za-z0-9]+", "-").toLowerCase();

你很接近了,你只需要在表达式中添加一个量词,让它匹配多个字符

/[^A-Za-z0-9]+/
(注意末尾的
+

因此,您的代码应该是:

"Town & Country".replaceAll("[^A-Za-z0-9]+", "-").toLowerCase();

非常感谢,我不知道量词。非常感谢,我不知道量词。