JavaScript的 - 分裂不失分离器 [英] javascript - split without losing the separator
问题描述
可能重复:结果
<一href=\"http://stackoverflow.com/questions/3047201/javascript-split-without-losing-character\">JavaScript拆分不失个性
块引用>我有一个字符串:
<$p$p><$c$c>\"<foo>abcdefg</bar><foo>abcdefg</bar><foo>abcdefg</bar><foo>abcdefg</bar>\"
我要的ABCDEFG的所有实例分成一个这样的数组:
[&LT;富&GT; ABCDEFG&LT; /条&GT;,&LT;富&GT; ABCDEFG&LT; /条&GT;,&LT;富&GT; ABCDEFG&LT; /条&gt;中 &LT;富&GT; ABCDEFG&LT; /条&gt;中];
我尝试:
VAR str=\"<foo>abcdefg</bar><foo>abcdefg</bar><foo>abcdefg</bar><foo>abcdefg</bar>\";
VAR Array_Of_FooBars = str.split(&LT; /条&GT;);警报(Array_Of_FooBars);但它产生的:
[&LT;富&GT; ABCDEFG,&LT;富&GT; ABCDEFG,&LT;富&GT; ABCDEFG,&LT;富&GT; ABCDEFG]
据除去隔板''。我不希望这样。
我如何使用拆分,而不是从字符串失去分隔?
感谢。
肯解决方案试试这个。这不是一个完美的解决方案,但在大多数情况下工作。
str.split(/(= LT;富&GT;)/)
也就是说,每一个打开的标签之前的位置拆呢。
编辑:你也可以做到这一点与
匹配()
,就像这样:str.match(/&LT;富方式&gt; * LT; \\ /酒吧/克)
Possible Duplicate:
JavaScript Split without losing characterI have a string:
"<foo>abcdefg</bar><foo>abcdefg</bar><foo>abcdefg</bar><foo>abcdefg</bar>"
I want to separate all instances of "abcdefg" into an array like this:
["<foo>abcdefg</bar>", "<foo>abcdefg</bar>", "<foo>abcdefg</bar>", "<foo>abcdefg</bar>"];
I try:
var str="<foo>abcdefg</bar><foo>abcdefg</bar><foo>abcdefg</bar><foo>abcdefg</bar>"; var Array_Of_FooBars = str.split("</bar>"); alert(Array_Of_FooBars);
But it produces:
["<foo>abcdefg", "<foo>abcdefg", "<foo>abcdefg", "<foo>abcdefg",]
It is removing the separator ''. I don't want that.
How can I use split and not lose the separators from the string?
Thanks. Ken
解决方案Try this. It's not a perfect solution, but it should work in most cases.
str.split(/(?=<foo>)/)
That is, split it in the position before each opening tag.
EDIT: You could also do it with
match()
, like so:str.match(/<foo>.*?<\/bar>/g)
这篇关于JavaScript的 - 分裂不失分离器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!