我知道他们已经对这个问题提出了很多疑问,但对这一问题没有答案 我已经尝试了一段时间来分裂:
var string = "ABC hereWeAre Againwith Those words";
到
['A','B','C','here','We','Are','Againwith','Those','words'];
(当有一个UpperCase或Space)时。
我试过了:
string.match(/[A-Z]+|[a-z]+|[0-9]+|[\S]+/g);
string.match(/[a-z]+/gi);
但没有任何效果。
谢谢你的帮助。
答案 0 :(得分:3)
正确的正则表达式是:
"ABC hereWeAre Againwith Those words".match(/[A-Z][a-z]*|[a-z]+/g);
答案 1 :(得分:1)
这里(有点复杂,但仍然有效):
"ABC hereWeAre Againwith Those words".replace(/([A-Z])/g, ' $1').trim().split(/\s+/);
// returns ["A", "B", "C", "here", "We", "Are", "Againwith", "Those", "words"]
想法是找到大写字母,在前面加上空格,然后用空格修剪和分割整个字符串。注意将正则表达式传递给.split
以逐个解决多个空格的问题。