如何通过正则表达式拆分字符串,同时保持数组中的拆分器

时间:2016-12-29 10:47:16

标签: javascript regex split

我开始在Javascript中学习正则表达式,我可以这样做吗?

想象一下,我有以下字符串:

Car ball car ball circle happy

我希望与所有人匹配,而不是,输出如:

["Car", "car", "circle happy"]

或者,当我在我的字符串中找到 ball 时拆分:

["Car", "ball", "car", "ball", "circle happy"]

我该怎么做?

2 个答案:

答案 0 :(得分:2)

您可以按 lStr := ''; for i := 0 to MyControl.Scene.GetUpdateRectsCount-1 do with MyControl.Scene.GetUpdateRect(i) do lStr := lStr + Format('(%g,%g,%g,%g)', [Left,Top,Right,Bottom]); 拆分以获得答案:

'ball'

["Car", "car", "circle happy"] 获取您的回答:

'(ball)'

["Car","ball","car","ball","circle happy"]

答案 1 :(得分:2)

您可以使用/(ball)/进行拆分(或者考虑整个字词,在模式周围添加\b字边界)。使用捕获括号包装整个模式会将匹配的字符串部分输出到结果数组中。



var s = 'Car ball car ball circle happy';
console.log(s.split(/(ball)/).map(function(x) { return x.trim();}));




如果您不需要在结果数组中输出ball,请省略捕获括号,仅使用/ball/

如果您需要使图案不区分大小写,请使用/i修饰符:/(ball)/i