JavaScript中的RegEx .split()

Yas*_*hia 5 javascript regex split

我需要拆分像这样的字符串

<p>foo</p><p>bar</p>
Run Code Online (Sandbox Code Playgroud)

到"foo"和"bar"的数组

我认为RegEx可以帮助我,但似乎我不理解RegEx.这是我的尝试.

var inputText = "<p>foo</p><p>bar</p>";
splittedSelection = inputText.split("/<p>|<\/p>/g");
Run Code Online (Sandbox Code Playgroud)

但我所能实现的只是一个带有一个条目的数组,它与inputText相同.

我为你做了一点小提琴.

谢谢你的帮助.

Ang*_*ris 2

您应该使用/<p>|<\/p>/g而不是内部引号。但是,这会产生["", "foo", "", "bar", ""],这是不希望的,因此您可以.filter()输出空结果,如下所示:

var inputText = "<p>foo</p><p>bar</p>";

splittedSelection = inputText.split(/<p>|<\/p>/g).filter(function(value) {
  // Filter out empty results
  return value !== "";
});

document.getElementById("bar").innerHTML += "0: " + splittedSelection[0] + "\n" + "1: " + splittedSelection[1] + "\n";
Run Code Online (Sandbox Code Playgroud)
<div id="bar">
</div>
Run Code Online (Sandbox Code Playgroud)