基于大写字符的Javascript拆分字符串

基于大写字符的Javascript拆分字符串,javascript,Javascript,如何在Javascript中按大写字符将字符串拆分为数组 因此,我想分开: 'ThisIsTheStringToSplit' 进入 给你:) 我会用.match()这样做: 'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+/g); ['This', 'Is', 'The', 'String', 'To', 'Split'] 它将生成如下数组: 'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+/g); ['This

如何在Javascript中按大写字符将字符串拆分为数组

因此,我想分开:

'ThisIsTheStringToSplit'
进入

给你:)


我会用
.match()
这样做:

'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+/g);
['This', 'Is', 'The', 'String', 'To', 'Split']
它将生成如下数组:

'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+/g);
['This', 'Is', 'The', 'String', 'To', 'Split']
edit:因为
string.split()
方法也支持regex,所以可以这样实现

'ThisIsTheStringToSplit'.split(/(?=[A-Z])/); // positive lookahead to keep the capital letters
这也将解决评论中的问题:

"thisIsATrickyOne".split(/(?=[A-Z])/);
这应该也能处理数字。。最后的连接会将所有数组项连接到一个句子(如果您正在寻找的话)

'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+|[0-9]+/g).join(" ")
输出

"This Is The String To Split"

这是我的解决方案,它是快速的、跨平台的、不依赖于编码的,并且可以轻松地用任何语言编写而不依赖于编码

var s1 = "ThisЭтотΨόυτÜimunəՕրինակPříkladדוגמאΠαράδειγμαÉlda";
s2 = s1.toLowerCase();
result="";
for(i=0; i<s1.length; i++)
{
 if(s1[i]!==s2[i]) result = result +' ' +s1[i];
 else result = result + s2[i];
}
result.split(' ');
var s1=“这是一个很好的例子,它是一个很好的例子。”;
s2=s1.toLowerCase();
结果=”;

对于(i=0;我找不到单个大写字符。我建议如下:
“thisIsATrickyOne”。匹配(/([A-Z]?[^A-Z]*)/g)。将(0,-1)
切片回可读字符串
“thisIsATrickyOne”。匹配(/([A-Z]?[^A-Z]*)/g)。切片(0,-1)。连接(“”)
给出了
这是一个棘手的问题
这可能会对一些寻求解决此问题的方法的人有用:这是完美的。但是任何使用此方法的人在以下情况下都应该小心:
'this8Thest3ringtosplit'。匹配(/[A-Z][A-Z]+|[0-9]+/g)。join(“”)
将输出
这是要拆分的ST3
,在
3
之后匹配小写字符串(
ring
)。这是一种很好的方法,在小写后比较各个字符串
var s1 = "ThisЭтотΨόυτÜimunəՕրինակPříkladדוגמאΠαράδειγμαÉlda";
s2 = s1.toLowerCase();
result="";
for(i=0; i<s1.length; i++)
{
 if(s1[i]!==s2[i]) result = result +' ' +s1[i];
 else result = result + s2[i];
}
result.split(' ');