javascript - 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做到这一点?
解决方案
您可以匹配字符集中的空格或破折号,然后重复它,替换为单个破折号:
const url = 'This is an - url';
let newUrl = url.replace(/[\s-]+/g, '-').toLowerCase();
console.log(newUrl);
推荐阅读
- sql - 如何在sql中使用嵌套查询来做矩阵幂?
- class - 无法在初始化程序中访问实例成员“PageNumber”。尝试用不同的表达式替换对实例成员的引用
- java - 如何将输入流复制到java中的文件夹?
- automation - 无法与 nessus 服务器建立连接
- github - github中不熟悉的图标
- node.js - Sequelize.js - 选择正确的关系
- vagrant - 麦克 | 宅基地:警告:远程连接断开。重试
- swiftui - 在 swift-ui/xcode12 中添加 baritem 时会调整列表
- node.js - 为什么 Resource 被解释为 Document 但通过 res.download 与 MIME 一起传输?
- reactjs - react 和 expressjs 中的 Cookie 处理