求正则表达式

dttlgotv 2009-04-03 05:28:21
如何从如下html中提取有用的汉字。

<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT
size=3><SPAN lang=EN-US><SPAN style="mso-tab-count: 1"><FONT
face="Times New Roman">      
</FONT></SPAN></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">清华大学郑重承诺:决不让一个勤奋而有才华的学生因为家庭经济困难而辍学!</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT
size=3><SPAN
style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"><SPAN
lang=EN-US><o:p></o:p></SPAN></SPAN></FONT> </P>
<P class=a
style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal"><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体"><SPAN
style="mso-tab-count: 1"></SPAN>   
多年来,清华大学</SPAN><SPAN class=times><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">始终把经济</SPAN></SPAN><SPAN
class=times><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">资助体系建设作为学校人才培养工作和办学过程中的一件大事。目前,</SPAN></SPAN><SPAN
style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体">学校已建立了比较完善的“助、勤、奖、贷、补”体系。2006年,在学校主要领导的直接指导下,学生资助管理中心与校友会、基金会、财务处等部门合作,在各院系的大力支持下,出台了新的“家庭经济困难本科学生资助体系”。新经济资助体系明确提出</SPAN></P>




提取结果是:

清华大学郑重承诺:决不让一个勤奋而有才华的学生因为家庭经济困难而辍学!



多年来,清华大学始终把经济资助体系建设作为学校人才培养工作和办学过程中的一件大事。目前,学校已建立了比较完善的“助、勤、奖、贷、补”体系。2006年,在学校主要领导的直接指导下,学生资助管理中心与校友会、基金会、财务处等部门合作,在各院系的大力支持下,出台了新的“家庭经济困难本科学生资助体系”。新经济资助体系明确提出




多谢多谢。
...全文
71 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dttlgotv 2009-04-07
  • 打赏
  • 举报
回复
这个不错,多谢。
saisky 2009-04-03
  • 打赏
  • 举报
回复
String CleanInput(string strIn)
{
return Regex.Replace(strIn, @"</?[^>]*>", "");
}
dttlgotv 2009-04-03
  • 打赏
  • 举报
回复
汉字能够全部提取出来,但是里面会有 宋体,这是我不想要的。

如果提取出全部汉字,在把 宋体 置换为空,会有问题。因为如果段落中含有需要的宋体两个字,不也就删除了么。
dttlgotv 2009-04-03
  • 打赏
  • 举报
回复
匹配结果会有很多 宋体
dttlgotv 2009-04-03
  • 打赏
  • 举报
回复
谢谢各位。


kuya兄提出的方法:


Regex regex = new Regex(@" <SPAN
style=""FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"">(.*?) </SPAN>");
MatchCollection matchs = regex.Matches(html);

就可以取出所以的汉字了,标题就是第一个matchs[0]里的了


里面会有很多宋体显示。
txt_paul 2009-04-03
  • 打赏
  • 举报
回复
帮顶。 汉字是有值的, 比如 long v =(int)“中”;所以有个取值范围。你百度下。忘了范围是多少。
leiziaitudou 2009-04-03
  • 打赏
  • 举报
回复
应该可以,顶 坐等......
rczjp 2009-04-03
  • 打赏
  • 举报
回复
嗯 把所有HTML的标签替换为空
没有写过 帮LZ顶下。。。。
rczjp 2009-04-03
  • 打赏
  • 举报
回复
嗯 把所有HTML的标签替换为空
没有写过 帮LZ顶下。。。。
亚非 2009-04-03
  • 打赏
  • 举报
回复
Regex regex = new Regex(@"<SPAN
style=""FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"">(.*?)</SPAN>");
MatchCollection matchs = regex.Matches(html);

就可以取出所以的汉字了,标题就是第一个matchs[0]里的了
liudongyue1987 2009-04-03
  • 打赏
  • 举报
回复
可以实现吗!帮顶

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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