一个截取字符串的问题?

zengtao360220 2010-09-27 05:19:02
我在做一个数据采集的功能,把网页的代码弄下来之后呢,我要截取指定的字符串,如下:
<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>结束,其他的字符不要。怎么做到啊?帮忙写点代码咯。急啊、、、、、、
...全文
182 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
kanghaina 2011-12-21
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 yodlove 的回复:]
package com.xls;

import org.htmlparser.Node;
import org.htmlparser.Parser;
import org.htmlparser.filters.AndFilter;
import org.htmlparser.filters.HasAttributeFilter;
import org.htmlparser.filte……
[/Quote]
+1




zengtao360220 2010-10-09
  • 打赏
  • 举报
回复
最近太忙啦!!真不好意思 忘记结贴啦!! 谢谢各位的回复啦。。。总是是各有千秋啊。。。
yodlove 2010-09-28
  • 打赏
  • 举报
回复
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"));
try {
NodeList nodeList = parser.parse(filter);
Node node = nodeList.elementAt(0); //获取div class=bj_img
Node n = node.getChildren().elementAt(1);//注意:0是\n即换行
//换行空格都算一个
System.out.println(n.toPlainTextString());
} catch (ParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}
yodlove 2010-09-28
  • 打赏
  • 举报
回复
楼主如果写采集,建议看一下htmlparser,这个是分析html代码的
陈字文 2010-09-28
  • 打赏
  • 举报
回复
二楼高亮~

这个获取的方法有多种

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

使用JS或者jQuery恐怕没那么简单,看LZ的架势是在java代码里取得的上面的一张页面的String然后来截取,而不是直接从网页截取~
EngineZhang 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xuhuanchao 的回复:]
引用 2 楼 qysnowqy 的回复:
正则,/^<ul>.*</ul>$/



[/Quote]
水中影子 2010-09-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qysnowqy 的回复:]
正则,/^<ul>.*</ul>$/
[/Quote]

zcy9979420 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gouxiongyaya 的回复:]

可以用jquery,楼主是想得到 电话:0731-82209913
传真:0731-82209913
邮箱:servers@cszgwl.com
网址:www.cszgwl.com
……
[/Quote]
+1
Dota_noney 2010-09-27
  • 打赏
  • 举报
回复
正则效率不够高,但是比较简洁。
效率问题还是要关注的。。
zhyou110z 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qysnowqy 的回复:]
正则,/^<ul>.*</ul>$/
[/Quote]
+1
zengtao360220 2010-09-27
  • 打赏
  • 举报
回复
嘿嘿! 谢谢大家啦!!刚自己写了个出来。
public String Substring(String strBuff, String str1, String str2) {

int start = strBuff.indexOf(str1);
int end = strBuff.indexOf(str2);
String str = strBuff.substring(start, end);
return str;
}
closewbq 2010-09-27
  • 打赏
  • 举报
回复
要是使用jquery获取的话就非常简单了。选择器直接选择div下的ul然后获取innerHTML
gouxiongyaya 2010-09-27
  • 打赏
  • 举报
回复
可以用jquery,楼主是想得到 电话:0731-82209913
传真:0731-82209913
邮箱:servers@cszgwl.com
网址:www.cszgwl.com
地址:湖南省长沙市芙蓉区八一路68号23楼
吗?

<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>
crazylaa 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qysnowqy 的回复:]

正则,/^<ul>.*</ul>$/
[/Quote]+1
wei_wxx 2010-09-27
  • 打赏
  • 举报
回复
一个javascript解决。,
qysnowqy 2010-09-27
  • 打赏
  • 举报
回复
正则,/^<ul>.*</ul>$/
nixiaofanzzf 2010-09-27
  • 打赏
  • 举报
回复
用javascript写个函数截取字符串就OK了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧