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();
非常感谢,我不知道量词。非常感谢,我不知道量词。