有人可以帮我把这个字符串替换成所需的网址链接吗?
1080 Center - (previously) Old/New
到
1080-center-previously-old-new
答案 0 :(得分:1)
这将解决你的一个例子(正则表达式从Rails' parameterize
method无耻地被盗:
"1080 Center - (previously)".toLowerCase().replace(/[^a-z0-9\-_]+/g, "-").replace(/-{2,}/, "-").replace(/^-|-$/, '');
但是如果没有更多的示例输入和输出,很难想出一个通用的解决方案。
话虽这么说,如果你想出一个你想要完成的事情的精确规范,你可能会有更轻松的时间。例如,起初看起来规则可能是“用破折号替换所有非单词字符”,但这会将Center - (previously)
变为center----previously-
,这不是您想要的。另一方面,您不能只删除空格,因为这会失去1080
和Center
之间的分隔。
答案 1 :(得分:0)
要实现此目的,您可以使用正则表达式将任何非单词字符替换为-
。试试这个:
var input = '1080 Center - (previously) Old/New';
var output = input.replace(/\W+/g, '-').toLowerCase();
console.log(output);