如何用JavaScript正则表达式仅替换非空格字符间的连字符
移除两个非空格字符之间的连字符解决方案
嘿,这需求我熟!要精准移除两个非空格字符中间的连字符,同时保留两侧带空格的连字符,直接用带环视断言的正则表达式配合JavaScript的replace方法就能搞定:
string.replace(/(?<=\S)-(?=\S)/g, '');
正则逻辑拆解:
(?<=\S):反向肯定断言——确保连字符左边是非空白字符(\S能匹配字母、数字、符号等所有非空格内容)-:就是我们要移除的目标连字符(?=\S):正向肯定断言——确保连字符右边也是非空白字符/g:全局匹配标记,会替换字符串里所有符合条件的连字符,不是只换第一个
实际效果示例:
dog-cat→dogcatdog - cat→ 保持不变1-1→111 - 1→ 保持不变$-$→$$$ - $→ 保持不变^-^→^^^ - ^→ 保持不变
完美区分需要移除的连字符和要保留的带空格连字符,直接用就行~
内容的提问来源于stack exchange,提问作者user2272048
相关产品推荐
相关产品推荐

