日期:2014-05-20  浏览次数:20846 次

一个截取字符串的问题?
我在做一个数据采集的功能,把网页的代码弄下来之后呢,我要截取指定的字符串,如下:
  <div class="l_img"><img src="/templets/img/bj_11.jpg" /></div>

<div class="bj_img">
<ul>
<li>电话:0731-82209913</li>
<li>传真:0731-82209913</li>
<li>邮箱:servers@cszgwl.com</li>
<li>网址:www.cszgwl.com</li>
<li>地址:湖南省长沙市芙蓉区八一路68号23楼</li>

</ul>
</div>

我要从<ul>开始截取 到</ul>结束,其他的字符不要。怎么做到啊?帮忙写点代码咯。急啊、、、、、、


------解决方案--------------------
用javascript写个函数截取字符串就OK了
------解决方案--------------------
正则,/^<ul>.*</ul>$/
------解决方案--------------------
一个javascript解决。,
------解决方案--------------------
探讨

正则,/^<ul>.*</ul>$/

------解决方案--------------------
可以用jquery,楼主是想得到 电话:0731-82209913
传真:0731-82209913
邮箱:servers@cszgwl.com 
网址:www.cszgwl.com 
地址:湖南省长沙市芙蓉区八一路68号23楼
吗?
Java code

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
      var str="";
      $("ul li").each(function(){
         str+=$(this).html()+"\n";
      });
      alert(str);
});
</script>

------解决方案--------------------
要是使用jquery获取的话就非常简单了。选择器直接选择div下的ul然后获取innerHTML
------解决方案--------------------
探讨
正则,/^<ul>.*</ul>$/

------解决方案--------------------
正则效率不够高,但是比较简洁。
效率问题还是要关注的。。
------解决方案--------------------
探讨

可以用jquery,楼主是想得到 电话:0731-82209913
传真:0731-82209913
邮箱:servers@cszgwl.com
网址:www.cszgwl.com
……

------解决方案--------------------
二楼高亮~

这个获取的方法有多种

截取字符串~ 使用正则表达式~ 甚至钝化到数据库,使用regexp_XXX都可以取出来~

使用JS或者jQuery恐怕没那么简单,看LZ的架势是在java代码里取得的上面的一张页面的String然后来截取,而不是直接从网页截取~
------解决方案--------------------
楼主如果写采集,建议看一下htmlparser,这个是分析html代码的
------解决方案--------------------
package com.xls;

import org.htmlparser.Node;
import org.htmlparser.Parser;
import org.htmlparser.filters.AndFilter;
import org.htmlparser.filters.HasAttributeFilter;
import org.htmlparser.filters.TagNameFilter;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;

import com.demo.FileHtml;

public class test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//html就是解析的那段
Parser parser = Parser.createParser(html, "gb2312"); //html代码、编码
AndFilter filter = new AndFilter(new TagNameFilter("div"), new HasAttributeFilter("class","bj_img"));