首页 新闻 会员 周边 捐助

如何在网页中搜索汉字?

0
悬赏园豆:10 [已解决问题] 解决于 2015-05-29 17:36

假如一个网页:

<html>

<title>你好吗?How are you?</title>

<body>我很好,你呢?I'm fine,and you?</body>

</html>

这个网页包含几句话,我只想提取“你好吗”,“我很好“,”你呢”三句,不要标点符号,这三句要分开,求大神怎么做(C#)?

yuan-zz的主页 yuan-zz | 初学一级 | 园豆:22
提问于:2015-05-28 13:19
< >
分享
最佳答案
1

1. 首先取出所有内容

2.正则表达式取出汉字

3.做你想做的事情

收获园豆:10
请叫我头头哥 | 大侠五级 |园豆:9382 | 2015-05-28 14:48

辛苦了,主要是第2步

yuan-zz | 园豆:22 (初学一级) | 2015-05-28 14:51

@我足以与你相配: 

string htmlContent="<html>.........</html>"
string chineseContent=Regex.Match(htmlContent, @"^[\u4e00-\u9fa5]+$").Value

已经经过测试了, 如果有问题继续追问, 没问题就采纳吧~

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-05-28 14:55

@请叫我头头哥: 参考该博问第一条回复,那里有详细的问题说明。谢谢^_^

yuan-zz | 园豆:22 (初学一级) | 2015-05-28 14:59

@我足以与你相配: 意思是页面中所有的句子都得匹配出来?而且一个句子会被视作一个串, 是这意思吗?

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-05-28 15:11

@我足以与你相配: 如果是这样, 那你的工作量挺大的, 给你个思路吧。

string htmlContent="<html>.........</html>"
string chineseContent=Regex.Match(htmlContent, @"^[\u4e00-\u9fa5]+$").Value

// 在正则里, 加入所有可能的段位符
请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-05-28 15:15

@请叫我头头哥: 我给你一个网页的源码,源码中有标签、脚本、英文字符、中文等杂乱的东西。我只想要其中的中文句子,速度不至于太慢,其实就是这个意思。至于怎么得到句子,方法是随便的,只要能得到结果。

yuan-zz | 园豆:22 (初学一级) | 2015-05-28 15:16

@我足以与你相配: en , 嗯, 思路就是上面那么个思路, 你可以思考思考。

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-05-28 15:18

@请叫我头头哥: 嗯,工作量是挺大的,不过是自己的一个作品。取句子只是算法的第一步

yuan-zz | 园豆:22 (初学一级) | 2015-05-28 15:22

@我足以与你相配: 看来你这是打算大刀阔斧的干一番啊, 加油, 如果有逻辑或者思路或者技术点上的不明白,可以私信我,或者继续提问, 完整的代码没法帮你写, 建议还是可以的 - -

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-05-28 15:25

@请叫我头头哥: 嗯,好的,谢谢

yuan-zz | 园豆:22 (初学一级) | 2015-05-28 15:26

@我足以与你相配: 那就采纳吧,  :)   哈哈。

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-05-28 15:27

@请叫我头头哥: 说句实话,大实话,正则表达式不适用于这个场景。

不过对于没事乱喊性能的人我就不说啥了。

要性能的话,请别使用C#。

 

抄一句别人说过的话吧:

如果你想要很高的性能,你必须知道处理的数据是什么样的。

别整天就知道正则。

爱编程的大叔 | 园豆:30844 (高人七级) | 2015-05-28 15:58

@爱编程的大叔: 你这最后一句话, 真是说到厉害之处了, 哈哈!

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-05-28 15:59

@请叫我头头哥: 推荐你一篇文章,不错。

在C#中优化字符串操作

爱编程的大叔 | 园豆:30844 (高人七级) | 2015-05-28 16:03

@爱编程的大叔: 好,。 工作之余的时候会去看的, 不枉大叔的关怀啊!      

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-05-28 16:17
其他回答(4)
1

提取标签,正则匹配汉字,然后对标点符号就行分割。

幻天芒 | 园豆:37205 (高人七级) | 2015-05-28 13:35

注释我也取,是汉字都取,而且还不要打乱原文每一句话的汉字顺序。最好也不要打乱每一句话的顺序,还要速度快(每秒取千八百个网页跟玩似的),能说说详细的吗?

支持(0) 反对(0) yuan-zz | 园豆:22 (初学一级) | 2015-05-28 14:47

比如说这张截图,我要取得句子有:

所有回答

提取标签

正则匹配汉字

回复

幻天芒

园豆

高人七级

注释我也取

是汉字都取

而且还不要打乱原文每一句话的汉字顺序

最好也不要打乱每一句话的顺序

还要速度快

每秒取千八百个网页跟玩似的

能说说详细的吗

支持

反对

回复

我足以与你相配

园豆(已有-此处可不要)

初学一级

......

支持(0) 反对(0) yuan-zz | 园豆:22 (初学一级) | 2015-05-28 14:58

@我足以与你相配: 循环标签,获取每个标签的text,正则获取汉字,按照符号拆分。

支持(0) 反对(0) 幻天芒 | 园豆:37205 (高人七级) | 2015-05-28 16:04
0

如果是要搜索汉字,那就好办了,一个一个字符取出来,严刑拷打,总能让字符招供是否汉字的。

爱编程的大叔 | 园豆:30844 (高人七级) | 2015-05-28 13:52

速度太慢

支持(0) 反对(0) yuan-zz | 园豆:22 (初学一级) | 2015-05-28 14:28

@我足以与你相配: 要不要帮你申请银河三号高速计算平台。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30844 (高人七级) | 2015-05-28 15:02

@爱编程的大叔: 你真是太无趣了,回答个问题不好好回答,还这么讥讽,有意思吗?

支持(0) 反对(0) yuan-zz | 园豆:22 (初学一级) | 2015-05-28 15:03

@我足以与你相配:   你别往心里去,可能你刚来博问,不太了解博问这帮老家伙, 大叔(@爱编程的大叔 )其实没有恶意的, 只是他的评论一贯作风是比较风趣幽默。 慢慢的你就觉得有点意思了。

支持(0) 反对(0) 请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-05-28 15:10

@我足以与你相配: 是啊,好没意思。看笑话去。

隔壁小孩问我咋赚钱呢,我答说打工。

他说我有一万,想要30天变成1千万呢。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30844 (高人七级) | 2015-05-28 15:12

@请叫我头头哥: 嗯,好的。不过我是真的想问这个问题。

支持(0) 反对(0) yuan-zz | 园豆:22 (初学一级) | 2015-05-28 15:12

@爱编程的大叔: 麻溜的。  哈哈~  

支持(0) 反对(0) 请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-05-28 15:14

@我足以与你相配: 理解。

支持(0) 反对(0) 请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-05-28 15:14
0

可以用正则表达式的 

wangYiYi | 园豆:13 (初学一级) | 2015-05-28 14:05

然后呢?

支持(0) 反对(0) yuan-zz | 园豆:22 (初学一级) | 2015-05-28 14:43
0

正则表达式

女孩,加油 | 园豆:1098 (小虾三级) | 2015-05-28 14:41

然后呢?

支持(0) 反对(0) yuan-zz | 园豆:22 (初学一级) | 2015-05-28 14:43

@我足以与你相配: 自己想去

支持(0) 反对(0) wangYiYi | 园豆:13 (初学一级) | 2015-05-28 15:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册