CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

高分求解JS字符串操作,JS高手请进

楼主leiaming(民族英雄-江湖最后一把杀猪刀-已经穷的只剩素质)2005-07-01 11:45:38 在 Web 开发 / JavaScript 提问

一个字符串求正规表达式分解指定内容,并存放一数组内。例如:   <html>   <body>   <div><div>first</div></div>   <div>last</div>   </body>   </html>   若以上内容按<div>分解,结果如下:   array([1]=><div>first</div>,   [2]=>last)   注:匹配的元素内容不需要分解,如上述的<div>first</div>, 问题点数:200、回复次数:13Top

1 楼fantiny(卖身不卖艺的菜鸟)回复于 2005-07-01 11:53:36 得分 0

用dom来不是很方便么。  
   
  顶高手用正则表达式。Top

2 楼slayerbb(名字被抢了)回复于 2005-07-01 12:51:58 得分 0

use   dhtml   so   easyTop

3 楼leiaming(民族英雄-江湖最后一把杀猪刀-已经穷的只剩素质)回复于 2005-07-01 13:35:56 得分 0

没人帮忙吗Top

4 楼leiaming(民族英雄-江湖最后一把杀猪刀-已经穷的只剩素质)回复于 2005-07-01 13:38:10 得分 0

不是说要一定要用正则表达数,一般处理方法就行Top

5 楼scsjs(闪电回归)回复于 2005-07-01 13:40:11 得分 0

<script>  
  str="<html>   <body>   <div><div>first</div></div><div>2</div>   <div>last</div>   </body>   </html>";  
  var   re   =   new   RegExp("<div>[^<]*</div>","ig");  
   
  var   a   =   str.match(re);  
  for   (   i=0;   i<a.length;   i++)   {  
  alert(a[i]);  
  }  
  </script>Top

6 楼meizz(梅花雪)回复于 2005-07-01 14:48:57 得分 0

这个问题用DOM才最简单,   用正则实现起来非常麻烦,   PS:   楼上的这位兄弟,   你的正则不够严格!!Top

7 楼meizz(梅花雪)回复于 2005-07-01 14:54:14 得分 0

<SCRIPT   LANGUAGE="JavaScript">  
  <!--  
  var   str   =   "<html>   <body>   <div><div>first</div></div>   <div>last</div>   </body>   </html>";  
  document.write("<iframe   name=mm   frameborder=0   height=0   width=0></iframe>");  
  mm.document.write(str);  
  var   nodes   =   window.frames["mm"].document.body.childNodes;  
  var   result   =   new   Array();  
  for(var   i=0;   i<nodes.length;   i++)  
  {  
      if(nodes[i].tagName=="DIV")    
          result[result.length]   =   nodes[i].innerHTML;  
  }  
  alert(result);  
  //-->  
  </SCRIPT>Top

8 楼scsjs(闪电回归)回复于 2005-07-01 15:07:25 得分 0

re   meizz(梅花雪):  
   
  呵呵,这位兄弟写代码,真是严谨呀。  
   
  不过这样老的很快呀。  
   
  PS:这样写是执行速度上会更慢,尤其是页面内容多的时候。Top

9 楼scsjs(闪电回归)回复于 2005-07-01 15:14:56 得分 0

re   meizz(梅花雪):  
   
  还是不严格,  
   
  当iframe页面没有加载完毕的时候呢?  
   
   
   
  Top

10 楼meizz(梅花雪)回复于 2005-07-01 15:27:39 得分 200

用XML分析也比正则强呀!!  
   
  <SCRIPT   LANGUAGE="JavaScript">  
  var   x=new   ActiveXObject("Microsoft.XMLDOM")  
  x.loadXML('<html>   <body>   <div><div>first</div></div>   <div>last</div>   </body>   </html>');  
  node=x.selectNodes("/html/body/div");  
  var   result   =   new   Array();  
  for(var   i=0;   i<node.length;   i++)  
  {  
      result[i]   =   "";  
      for(var   k=0;   k<node[i].childNodes.length;   k++)  
      {  
          result[i]   +=   node[i].childNodes[k].xml;  
      }  
  }  
  alert(result);  
  </SCRIPT>Top

11 楼ice_berg16(寻梦的稻草人)回复于 2005-07-01 16:15:23 得分 0

用正则要麻烦的多,用XML简单的多了。Top

12 楼leiaming(民族英雄-江湖最后一把杀猪刀-已经穷的只剩素质)回复于 2005-07-02 09:06:48 得分 0

梅老弟,你果真历害Top

13 楼phpsessid(风随影动)回复于 2005-07-02 09:52:16 得分 0

xml分析需要满足XML的格式,即严格的标签闭合,现在很多人写HTML还达不到XHTML   1.0Transitional的标准,XML分析会出问题的。Top

相关问题

  • 字符串操作的问题,高分求解
  • 字符串操作
  • !字符串操作
  • 字符串操作。
  • 字符串操作?
  • 字符串操作
  • 字符串操作
  • 字符串操作
  • 字符串操作?
  • 字符串操作

关键词

  • js
  • 字符串

得分解答快速导航

  • 帖主:leiaming
  • meizz

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo