2017-09-27 29 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)+/) 
相关问题