将字符串拆分为数组

splitting a string in to array

本文关键字:数组 拆分 字符串      更新时间:2023-09-26

>我有一个字符串,形式为 ,

var k= '<html><div id="test">it is interesting</div></html>'

我正在尝试将其转换为表单数组

<html>
<div id="test">
it
is
interesting
</div>
</html>

我正在使用Javascript来执行此任务。我可以使用拆分函数来检测单词之间的空格来拆分字符串,但是如何拆分 HTML 标签。

var k='<html><div id="test">it is interesting</div></html>';
var a=k.match(/(<.+?>)|([^ ]+?(?=[ <]))/g);
console.log(a); // ["<html>", "<div id="test">", "it", "is", "interesting", "</div>", "</html>"]

更新:如果您的字符串可以包含子字符串"<>" (在 HTML 中无效),请尝试使用略有更改的正则表达式:/(<.*?>)|([^ ]+?(?=[ <]))/g

更新:如果您需要将'n'r't simbols(换行符、回车符、制表符)解释为空格,请尝试使用下一个正则表达式:/(<.*?>)|('S+?(?=['s<]))/g(另请参阅上面更新中关于先用*+的备注)

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>"]
k='<div class='"Normal'" algoscore='"338'">'n <p><img src='"/getBinaryFile.php?Id=69'" /></p>'n';
a=k.match(rg);
console.log(a); // ["<div class="Normal" algoscore="338">", "<p>", "<img c="/getBinaryFile.php?Id=69" />", "</p>"]