日期:2014-05-18  浏览次数:20392 次

100求一问题,大家进来讨论下,up~~也有分~~~
问题描述:
  我想取网页里的具体信息,比如一个网页形式的工作经历,把文件读到一个字符串里了,我想先把这个字符串里面的所有<table><tr>之类的标签,和一些不是文字的东西去了,再查找,截取,不知道这种方法可行吗?如可行,怎么才能把那些不是文字的去掉呢?正则我不大会啊...
  如果有更好的办法,请问怎么实现(就从已经读出网页的字符串里弄)
  谢谢大家,分肯定兑现 欢迎大家讨论
  up有分哈~~

------解决方案--------------------
最方便的就是正则了
------解决方案--------------------
**********************************************************************************

定义一个方法,过滤<table>之类的东西.

或者

把从网页读出的字符串转换成xml文件,(有专门的类处理它的)
提取InterText就ok了吧

***********************************************************************************
------解决方案--------------------
有一些小的开源项目专门做 基于html的词法分析的
你可以找一找 各种语言的都有
可以拿来直接用
------解决方案--------------------
似乎都是用正则来做的,要不想想办法看看能不能转成xml
------解决方案--------------------
文件读到一个字符串正则表达式提取
------解决方案--------------------
对这个网页的每一个对象遍历
然后保存起来
------解决方案--------------------
up
------解决方案--------------------
友情UP
------解决方案--------------------
友情UP
------解决方案--------------------
正则
------解决方案--------------------
自己写比较复杂 网上有现成的函数
------解决方案--------------------
up接分
------解决方案--------------------
友情UP
------解决方案--------------------
UP也谢谢大家了~~
------解决方案--------------------
这个偶不懂..........
帮你顶顶人气.....
------解决方案--------------------
友情UP
------解决方案--------------------
UP也谢谢大家了~~
------解决方案--------------------
没正则用笨方法了..... 呵呵 希望大家多提出解决方案,我在这里谢过

public static string NoHTML(string Htmlstring)
{

Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring,@"<script[\s\S]+</script *>", "", RegexOptions.IgnoreCase);


Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);