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 に答える