字符串:split / match大写,空格,specialchar

时间:2012-12-14 11:17:36

标签: javascript string split match uppercase

我知道他们已经对这个问题提出了很多疑问,但对这一问题没有答案 我已经尝试了一段时间来分裂:

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

但没有任何效果。
谢谢你的帮助。

2 个答案:

答案 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以逐个解决多个空格的问题。