Javascript在UpperCase字符上拆分字符串

时间:2011-10-25 10:58:45

标签: javascript

如何通过UpperCase字符在Javascript中将字符串拆分为数组?

所以我想分开:

'ThisIsTheStringToSplit'

进入

('This', 'Is', 'The', 'String', 'To', 'Split')

4 个答案:

答案 0 :(得分:145)

我会像.match()一样这样做:

'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+/g);

它会像这样生成一个数组:

['This', 'Is', 'The', 'String', 'To', 'Split']

编辑,因为string.split()方法也支持正则表达式,所以可以像这样实现

'ThisIsTheStringToSplit'.split(/(?=[A-Z])/); // positive lookahead to keep the capital letters

这也将解决评论中的问题:

"thisIsATrickyOne".split(/(?=[A-Z])/);

答案 1 :(得分:12)

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

这也应该处理数字..最后的连接会导致将所有数组项连接到一个句子,如果这就是你要找的那个

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

输出

"This Is The String To Split"

答案 2 :(得分:6)

你在这里:)

var arr = UpperCaseArray("ThisIsTheStringToSplit");

function UpperCaseArray(input) {
    var result = input.replace(/([A-Z]+)/g, ",$1").replace(/^,/, "");
    return result.split(",");
}

答案 3 :(得分:1)

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

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(' ');