JavaScript中仅去除字符串首尾空格与连字符的实现方案咨询
移除字符串首尾的空格与连字符
可以用正则表达式配合replace()方法实现需求,核心是精准匹配字符串首尾的空格(\s)和连字符(-),并将其替换为空字符串。
核心实现代码
// 直接处理字符串 const result = str.replace(/^[\s-]+|[\s-]+$/g, ''); // 封装成复用函数 function trimEdgeSpacesAndDashes(str) { return str.replace(/^[\s-]+|[\s-]+$/g, ''); }
正则表达式说明
^[\s-]+:匹配字符串开头连续的一个或多个空格/连字符|:逻辑或,同时匹配两种规则[\s-]+$:匹配字符串结尾连续的一个或多个空格/连字符g:全局匹配标志,确保首尾所有符合条件的字符都被移除
测试各场景
// 场景1:中间包含空格和连字符,无需处理 console.log(trimEdgeSpacesAndDashes("test - test1")); // 输出 "test - test1" // 场景2:开头有空格和连字符,移除后保留有效内容 console.log(trimEdgeSpacesAndDashes(" - test1")); // 输出 "test1" // 场景3:仅首尾有空格和连字符,移除后为空字符串 console.log(trimEdgeSpacesAndDashes(" -")); // 输出 ""
内容的提问来源于stack exchange,提问作者Anudeepa
相关产品推荐
相关产品推荐

