0

我正在尝试拆分一个长字符串,它是 html 标签和普通单词和符号的组合。

例如,考虑,

var k= '<html><div id="test">it is interesting, but I love you.</div></html>'

我正在尝试拆分此字符串并将其存储到数组中,例如

<html>
<div id="test">
it
is
interesting
,
but 
I 
love 
you
.
</div>
</html>

我知道如何分隔 html 标签和名称,但我在使用下划线、句号、逗号和分号等符号时遇到了问题。

我的代码看起来像这样

var k,a,rg=/(<.*?>)|(\S+?(?=[\s<]))/g;

k='<html><div id="test"> it is interesting</div></html>';
a=k.match(rg);
console.log(a); // ["<html>", "<div id="test">", "it", "is", "interesting", "</div>", "</html>"]

我如何用正则表达式分隔符号?

4

2 回答 2

0

你试过split () 命令吗?

于 2012-08-07T13:16:23.193 回答
0

有趣的是有人问这个问题,这是我昨天写的一个小提琴,应该可以满足你的要求:

function GetInnerTextAsArray(text) {
    var arr,
        tmp = document.createElement("DIV");

        tmp.innerHTML = text;
        text = tmp.textContext||tmp.innerText;

    arr = text.split(/[\s,;]);
    return arr;    
}​
于 2012-08-07T13:18:49.727 回答