例如我有一个字符串:
str = "Hello bob my name is john"
在html中表示为3个实体:
<b>Hello bob</b><b>my name</b><b>is john</b>
有没有办法可以将其分开,以便得到:
["Hello bob", "my name", "is john"]
我知道初始格式不是很好,但是我通过维基媒体api从维基百科中抽取一些文本,并且我希望能够在地图上绘制每个“实体”。我试过用(" ")
分裂,但是如果实体包含2个或更多单词,那对我来说显然不是很好!
答案 0 :(得分:2)
如果我理解你的问题那么你可以用类似的东西来做,
var v = document.getElementById("test");
var str = v.innerHTML;
var arr = str.replace("<b>","").split("</b>");
var out = document.getElementById("out");
out.innerHTML = arr;
<div id="test">
<b>Hello bob</b> <b>my name</b> <b>is john</b>
</div>
<div id="out">
</div>
答案 1 :(得分:1)
使用此代码。
var s = "<b>Hello bob</b><b>my name</b><b>is john</b>";
var arr = s.match(/<b>.*?<\/b>/g);
for (var i = 0, l = arr.length; i < l; i++) {
arr[i] = arr[i].replace(/<b>(.*?)<\/b>/, "$1");
}