我正在尝试分割字符串
<div id = 'tostart'><button>todo </button>hometown todo </div>
以“to”作为关键字。
问题是我不必在标签之间拆分,而只需从标签外部拆分,因此如果我拆分,我会得到类似的结果
arr = ["<div id = 'tostart'><button>","do","</button>home","wn ","do </div>"]
是否有一个正则表达式可以用来实现它。
提前致谢。
最佳答案
使用这个:
var str = "<div id = 'tostart'><button>todo </button>hometown todo </div>";
var res = str.replace(/to/g, '|').replace(/(.*?)(<.*?)\|(.*?>)/g, '$1$2to$3');
console.log(res.split("\|"));
输出:
["<div id = 'tostart'><button>", "do </button>home", "wn ", "do </div>"]
@musefan:
这实际上是即兴创作。
首先我替换了所有的to
与 |
然后我选择了 <
内的所有管道或>
并将它们替换为 to
。最后我可以根据 |
进行拆分这是上一次替换留下的。
正则表达式:(.*?)(<.*?)\|(.*?>)
将选择全部|
<
里面的字符和>
关于javascript - 在没有带有特定文本标签的 JavaScript 中拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23803017/