2017-09-27 25 views
0

我有一個字符串包含\ n(\\n)和\ n \ n(\\n\\n)(轉義換行符)。如何拆分包含一個或多個轉義換行符的字符串?

我想分裂這樣的:

'a\\na'.split(/\\n+/) 
> [ 'a', 'a' ] 
'b\\n\\nb'.split(/\\n+/) 
> [ 'b', 'b' ] 

,但我不如何申請+\\n,因爲在我的例子是僅適用於n,我得到[ 'b', '', 'b']

我試過分組:(\\n)+(:?\\n)+,但它似乎沒有工作。

+0

這看起來並沒有逃脫。你的意思是''一個\''嗎? – Ryan

+0

如果你有一個你想量化的序列,用一個組合來包裝:'/(?:\\ n)+ /' –

+0

你可以用另一個字符替換\ n,然後拆分字符串。例如''a \ na'.replace(「\ n」,「_」)。split(「_」)' – 2017-09-27 08:56:31

回答

2

你是對的,你需要一個非捕獲組來避免來自split的額外條目,但語法是(?:而不是(:?

'b\\n\\nb'.split(/(?:\\n)+/) 
相關問題