繁体   English   中英

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

[英]Splitting string with regular expression to make it array without empty element

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

example_string = "Answer 1| Answer 2| Answer 3|";

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

Array ["Answer 1", " Answer 2", " Answer 3"]

我努力了:

result = example_string.split('/[|]+/g');

并且还具有以下模式

'/[|]+/g'
'/[|]+\b/g'
'/[|]+[^$]/g'

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

 Array ["Answer 1", " Answer 2", " Answer 3", ""]

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

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

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

匹配而不是拆分:

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

你甚至可以使用[^\\|]+要匹配任何你要的比赛,但|

DEMO

没有错。 这是绝对正确的行为(如何split知道这不是一个CSV文件,最后一列有空值?)。 如果你知道你的字符串总是以|结尾 ,你可以先手动删除最后一个。 或者你可以拿走数组的最后一个元素,如果它是空的。 但是,我似乎无法找到(在JavaScript中)告诉内置split函数省略空结果的可能性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM