JavaScript按连字符分割字符串:保留CTO-Office的实现需求
实现JavaScript字符串分割并保留指定连字符组合
要将字符串 "CTO-Office - Production - Engineer" 分割为 ['CTO-Office', 'Production', 'Engineer'],核心是区分两种连字符:
- 作为字段分隔的带前后空格的连字符(" - ")
- "CTO-Office" 内部无空格的连字符
方法1:固定字符串分隔(推荐)
因为分隔符是明确的 " - ",直接调用split()方法传入该字符串即可,简单高效:
const targetStr = "CTO-Office - Production - Engineer"; const splitResult = targetStr.split(" - "); console.log(splitResult); // 输出: ['CTO-Office', 'Production', 'Engineer']
方法2:正则表达式分隔(兼容空格数量不固定场景)
如果分隔符前后的空格数量可能不统一,用正则匹配任意数量的空格+连字符+任意数量的空格:
const targetStr = "CTO-Office - Production - Engineer"; const splitResult = targetStr.split(/\s+-\s+/); console.log(splitResult); // 同样得到目标数组
这里\s+表示匹配一个或多个空格,能适配分隔符前后空格数量不一致的情况。
内容的提问来源于stack exchange,提问作者Mohammad Irfan
相关产品推荐
相关产品推荐

