首页 > 解决方案 > Javascript将空格替换为破折号,破折号前后的空格除外

问题描述

我正在尝试使用 javascript 修改字符串。我应该将所有空格替换为-,除了空格在破折号之前或之后。

例如:

const url= 'This is an - url';
let newUrl = url.replace(/\s+/g,'-');
let newUrlLowerCase = newUrl.toLowerCase();

它给了我结果this-is-an---url,我需要的是this-is-an-url

我怎么能用javascript做到这一点?

标签: javascriptregex

解决方案


您可以匹配字符集中的空格破折号,然后重复它,替换为单个破折号:

const url = 'This is an - url';
let newUrl = url.replace(/[\s-]+/g, '-').toLowerCase();
console.log(newUrl);


推荐阅读