免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6732 | 回复: 3
打印 上一主题 下一主题

如何从一个文件中提取中文字符 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-02 10:09 |只看该作者 |倒序浏览
现有一个网页内容,我怎么从其中提取出中文字符来
  1. <strong class="title">javascript:if(confirm('http://ikan.pptv.com/p/10789711/  \n\nτ¼��Teleport Pro ȡ»أ¬ӲΪ ̼μœ&#773314;·¾¶3¬1��ʨ׃μķ¶Χ¡£  \n\nţҪ′ӷ�ϴ&#785099;�))window.location='http://ikan.pptv.com/p/10789711/'" tppabs="http://ikan.pptv.com/p/10789711/" target="_ikanp" title="美女匪帮" jsvalue="hightlight">美女匪帮</a>
  2. <dd class="intro">
  3. 党中央专区首长同志的女儿塔尼亚在敖德萨旅游的三天里,正赶上一个外号叫“会计师”的坏人的行动,扑朔迷离的绑架,扣人心弦的歼灭战,浪漫的爱情、坚固的友情和伟大的亲情穿插其中。最后坏…</dd>
  4. 导演:暂无信息
复制代码
请问我怎么提取:
  1. 美女匪帮

  2. 党中央专区首长同志的女儿塔尼亚在敖德萨旅游的三天里,正赶上一个外号叫“会计师”的坏人的行动,扑朔迷离的绑架,扣人心弦的歼灭战,浪漫的爱情、坚固的友情和伟大的亲情穿插其中。最后坏…</dd>
  3. 导演:暂无信息
复制代码
来呢

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2011-04-02 11:25 |只看该作者
我对网页格式不懂。
中文字符是在特定格式下才会出现还是说这个文档
里面任何一个字符都可能是中文字符?
如果是有格式的,你解析格式既可。
否则的话,你需要得到文件的编码方式,然后根据编码方式
遍历每个字符来判断是不是中文字符。
像gb2312和utf-8,它们对中文字符的编码不同。

论坛徽章:
0
3 [报告]
发表于 2011-04-06 10:30 |只看该作者
这个还没解决

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
4 [报告]
发表于 2011-04-08 12:44 |只看该作者
本帖最后由 OwnWaterloo 于 2011-04-08 12:46 编辑

回复 1# aaaaa5aa

一段 elisp 代码:

  1. ":";exec emacs --script $0 $*
  2. (setq-default enable-multibyte-characters nil)
  3. (ignore-errors
  4.   (let (line)
  5.     (while t
  6.       (set 'line (string-to-multibyte (read-from-minibuffer "")))
  7.       (dotimes (i (length line))
  8.         (when (eq 'chinese-gbk (char-charset (aref line i)))
  9.           (write-char (aref line i)) ) )
  10.       (write-char ?\n) ) ) )
复制代码

  1. ./extract.el < input.htm > chinese.txt

  2. τμ·μΧ£′美女匪帮美女匪帮

  3. 党中央专区首长同志的女儿塔尼亚在敖德萨旅游的三天里,正赶上一个外号叫“会计师”的坏人的行动,扑朔迷离的绑架,扣人心弦的歼灭战,浪漫的爱情、坚固的友情和伟大的亲情穿插其中。最后坏…
  4. 导演:暂无信息
复制代码
前面几个古怪的字母也被算进去了……



完成主要功能的是那个 char-charset 函数, 可以获得一个字符所属的charset。
ascii, unicode, chinese-gbk, latin-iso8859-2 等。
(这方面的术语很混乱, 反正 Emacs 把上述这些叫做 charset)

unicode 标准除了规定每个character 的 codepoint, 可能还有规定那些区间是属于哪些文字吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP