免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6491 | 回复: 3

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

论坛徽章:
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
发表于 2011-04-02 11:25 |显示全部楼层
我对网页格式不懂。
中文字符是在特定格式下才会出现还是说这个文档
里面任何一个字符都可能是中文字符?
如果是有格式的,你解析格式既可。
否则的话,你需要得到文件的编码方式,然后根据编码方式
遍历每个字符来判断是不是中文字符。
像gb2312和utf-8,它们对中文字符的编码不同。

论坛徽章:
0
发表于 2011-04-06 10:30 |显示全部楼层
这个还没解决

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
发表于 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, 可能还有规定那些区间是属于哪些文字吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会 限时8.5折

【架构革新 高效可控】2020年8月17日~19日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP