使用正则表达式分割camelCase字符串

6

我有一个驼峰命名的字符串,如下:s = 'ThisIsASampleString',我想通过大写字母将其拆分为一个数组。我期望得到以下结果:

['This', 'Is', 'A', 'Sample', 'String']

以下是我目前所做的工作:

s = "ThisIsASampleString";
var regex = new RegExp('[A-Z]',"g");
var arr = s.split(re);

但是它并没有给我正确的结果,因为它删除了匹配的字符。我得到的数组是这样的:["his", "s", "", "tring"]。它已经删除了所有匹配的大写字母。

我应该如何避免这种行为,同时将匹配的字符也保留在我的结果数组中?


这不是驼峰命名法。驼峰命名法的字符串应该以小写字母开头。这有时被称为“帕斯卡命名法”。 - user663031
注意 @torazaburo - Ezio
1个回答

8

虽然我有一个问题,为什么会发生这种情况,为什么在匹配时那些大写字母被删除了? - Ezio
1
@Ezio:字符串将根据匹配的分隔符进行拆分...请检查 MDN 文档,可能会有所帮助: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/split - Pranav C Balan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接