使用正则表达式拆分字符串,使其成为没有空元素的数组

scx*_*scx 4 javascript regex

在这里,我有一个例子javascipt字符串:

example_string = "Answer 1| Answer 2| Answer 3|";
Run Code Online (Sandbox Code Playgroud)

我试图使用正则表达式获取这样的数组:

Array ["Answer 1", " Answer 2", " Answer 3"]
Run Code Online (Sandbox Code Playgroud)

我试过了:

result = example_string.split('/[|]+/g');
Run Code Online (Sandbox Code Playgroud)

并且还具有以下模式

'/[|]+/g'
'/[|]+\b/g'
'/[|]+[^$]/g'
Run Code Online (Sandbox Code Playgroud)

我仍然在它的末尾得到一个带有空元素的数组:

 Array ["Answer 1", " Answer 2", " Answer 3", ""]
Run Code Online (Sandbox Code Playgroud)

这给我带来了很多麻烦.有谁知道我在我的模式中犯错误或如何解决它?

Jav*_*iaz 7

我总是喜欢匹配我一直讨厌分裂的所有内容,但是:

分裂的正则表达式:(\|(?!$)) DEMO

匹配而不是拆分:

正则表达式: (?:([\w\s]+)\|?)

你甚至可以[^\|]+用来匹配任何你必须匹配的东西|

DEMO