You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用正则仅按逗号拆分字符串,无逗号时不拆分保留原有空格

解决方法

核心思路是仅将逗号作为拆分的判定依据,空格本身不触发拆分规则,对应的正则为 /,\\s*/,匹配逗号以及逗号后跟随的任意数量空白字符。

测试示例

  • 带逗号的场景:
let cssValue = '20px, 40px'
cssValue.split(/,\s*/) // 返回 ['20px', '40px']
  • 无逗号仅含空格的场景:
let cssValue = '20px 40px'
cssValue.split(/,\s*/) // 返回 ['20px 40px']

原正则问题说明

你之前使用的 [^a-zA-Z0-9]+ 会匹配所有连续的非字母数字字符,空格同样属于该规则的匹配范围,因此无论字符串是否包含逗号,只要出现空格就会触发拆分,不符合需求。

可选优化

如果需要兼容逗号前后都存在空格的场景(例如 '20px , 40px'),可以将正则调整为 /\\s*,\\s*/,拆分后各元素首尾不会残留多余空格,返回结果依旧为 ['20px', '40px']。

内容的提问来源于stack exchange,提问作者Denys Rybkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:54:01