gpt4 book ai didi

javascript - 为什么 'abc' .split(/(a|b|c)/) 在 Javascript 中给出 a、b、c 和空字符串?

转载 作者:行者123 更新时间:2023-12-02 05:44:10 25 4
gpt4 key购买 nike

我正在尝试编写一个将单词拆分为字母的函数,但我得到了一个奇怪的结果:

'abc'.split(/(a|b|c)/) 

给予:

["", "a", "", "b", "", "c", ""]

顺便说一下,我在 Python 中看到了相同的结果,很明显问题出在我身上!

>>> re.split( '(a|b|c)', 'abc')
['', 'a', '', 'b', '', 'c', '']

问题是,为什么在字母之间插入空字符串?我以为

["a", "b", "c"]

谢谢!

最佳答案

除了拆分,您还可以使用全局正则表达式进行字符串匹配...

'abc'.match(/(a|b|c)/g); // ["a", "b", "c"]

这更有意义,因为您真正关心的是匹配,而不是匹配之间的内容。

如果你想匹配从 a 到 z 的任何字符,你可以这样做......

'abc'.match(/([a-z])/gi);

我也让它不区分大小写以匹配大写。

关于javascript - 为什么 'abc' .split(/(a|b|c)/) 在 Javascript 中给出 a、b、c 和空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9369971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com