JavaScript的 - 分裂不失分离器 [英] javascript - split without losing the separator

查看:93
本文介绍了JavaScript的 - 分裂不失分离器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


  

可能重复:结果
  <一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 character

I 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆