Javascript将空格替换为破折号,破折号前后的空格除外

标签 javascript regex

我正在尝试使用 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 做到这一点?

最佳答案

您可以在字符集中匹配空格破折号,并重复它,用单个破折号代替:

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

关于Javascript将空格替换为破折号,破折号前后的空格除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58743750/

相关文章:

javascript - Seleniumwebdirver 与 Java 登录身份验证失败;传递正确的凭据

regex - 在 Emacs 正则表达式中匹配双花括号?

用于验证字符串的正则表达式模式

sql - postgres 中的 regexp_replace 仅保留单个空格

Java 不适用于正则表达式\s,说 : invalid escape sequence

javascript - jQuery - .Ready 在不在页面中的 div 标签上触发

javascript - jquery.validate 插件在 ajax 成功回调中访问表单

javascript - 根据浏览器大小定位元素

javascript - 单击 X 时表格不会重置

ios - 使用正则表达式在 ios 中标记字符串