繁体   English   中英

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

[英]java regex replace special characters and spaces with dash

我有以下字符串,

String model = "Town & Country";

我想将破折号和小写字母替换为特殊字符和空格,以便获得简洁的网址。

"town-country"

我已经尝试了以下代码。

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

但我最终得到以下输出。

town---country

有人可以帮我做正则表达式,以便它正常工作吗? 如果有多个空格,我想将其减少为一个由短划线代替的空格。 如果有一个好的Java库专门用于执行此操作,我会对它感兴趣,但是我不想使用pluss。

亲近了,您只需要在表达式中添加一个量词以使其匹配多个字符即可。

/[^A-Za-z0-9]+/

(请注意末尾的+ 。)

因此,您的代码应为:

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

regexr上的实时示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM