我有一個字符串:正則表達式:在單詞保存線拆分文本breacks
"This is the\nstring with\nline breaks\n"
我需要得到:
[This, is, the\n, string, with\n, line, breaks\n
]
當我使用.split(/ \ s {1,} /) - \ n換行符消失。如何保護它們?
的多個空格需要考慮
我有一個字符串:正則表達式:在單詞保存線拆分文本breacks
"This is the\nstring with\nline breaks\n"
我需要得到:
[This, is, the\n, string, with\n, line, breaks\n
]
當我使用.split(/ \ s {1,} /) - \ n換行符消失。如何保護它們?
的多個空格需要考慮
也許match
會給你你想要
"This is the\nstring with\nline breaks\n".match(/([^\s]+\n*|\n+)/g);
// ["This", "is", "the\n", "string", "with\n", "line", "breaks\n"]
[^\s]+
意味着許多非空間儘可能(一個或多個)什麼,
\n*
手段許多新線儘可能(0或更多),
|
裝置OR, \n+
意味着許多新線儘可能(一個或多個)。
使用這個代替:
.split(/ +/); // (/ +/ to take multiple spaces into account.)
因爲:
"This is the\nstring with\nline breaks\n".split(' ');
返回:
["This", "is", "the
string", "with
line", "breaks
"]
你可能不會真正看到"\n"
在這些字符串中,因爲它們在控制檯中呈現爲實際換行符。簡單地
通過使分裂他們將出現在結果陣列中的捕獲組。然後,您可以按摩是:
"This is the\nstring with\nline breaks\n".split(/(\s+)/);
結果:
["This", " ", "is", " ", "the", "\n", "string", " ", "with", "\n", "line", " ",
"breaks", "\n", ""]
我會留下作爲一個練習,這個數組會產生你的請求的結果的操縱。
這也有幫助。謝謝 – WHITECOLOR
請解釋一下你怎麼想' 「這\ n \ n \ n」'要拆分('[ 「這\ n \ n \ n」]'或'[ 「這\ N」]'或' [「\ n」,「\ n」,「\ n」]')以防我的回答不符合要求。 –