免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: bmne

[文本处理] 问大神一个汉字行提取的问题,谢谢 [复制链接]

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
发表于 2016-08-04 10:58 |显示全部楼层
回复 10# Windows19



哇塞!你是哪位大神?马甲?

厉害、厉害

没想到放弃它就行[^\x00-\x7F]+


谢谢谢谢

1.jpg






   

论坛徽章:
0
发表于 2016-08-05 22:44 |显示全部楼层
帮你顶一下了。

论坛徽章:
4
程序设计版块每日发帖之星
日期:2016-08-11 06:20:00数据库技术版块每日发帖之星
日期:2016-08-13 06:20:00程序设计版块每日发帖之星
日期:2016-08-14 06:20:00数据库技术版块每日发帖之星
日期:2016-08-14 06:20:00
发表于 2016-08-10 17:09 |显示全部楼层
root@localhost:~# sed -n '/[^ -z]/p' file
12.ab.CD
aaa中国bbb人
ccc电视
新闻ddd
e跑步e
笑口常开

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
发表于 2016-08-10 17:21 |显示全部楼层
回复 13# 杰瑞26


谢谢大神

你这个更绝




   

论坛徽章:
6
15-16赛季CBA联赛之新疆
日期:2016-03-22 22:34:5915-16赛季CBA联赛之山东
日期:2016-04-11 09:08:41程序设计版块每日发帖之星
日期:2016-06-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-19 06:20:00每日论坛发贴之星
日期:2016-07-19 06:20:0015-16赛季CBA联赛之青岛
日期:2016-07-20 22:44:17
发表于 2016-08-11 01:25 |显示全部楼层

$>  /bin/grep -P '[^[:ascii:]]' aa
aaa中国bbb人
ccc电视
新闻ddd
e跑步e
笑口常开

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
发表于 2016-08-11 08:06 |显示全部楼层
回复 15# RE_HASH


谢谢大神来回复

问一下大神,这种特殊字符在哪里能看到的最全?谢谢




   

论坛徽章:
6
15-16赛季CBA联赛之新疆
日期:2016-03-22 22:34:5915-16赛季CBA联赛之山东
日期:2016-04-11 09:08:41程序设计版块每日发帖之星
日期:2016-06-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-19 06:20:00每日论坛发贴之星
日期:2016-07-19 06:20:0015-16赛季CBA联赛之青岛
日期:2016-07-20 22:44:17
发表于 2016-08-11 10:33 |显示全部楼层
回复 16# bmne


    ascii code?没搞懂您的问题

论坛徽章:
31
程序设计版块每日发帖之星
日期:2016-02-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-20 06:20:00程序设计版块每日发帖之星
日期:2016-07-26 06:20:00每日论坛发贴之星
日期:2016-07-26 06:20:00程序设计版块每日发帖之星
日期:2016-07-27 06:20:00每日论坛发贴之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-29 06:20:00程序设计版块每日发帖之星
日期:2016-08-02 06:20:00程序设计版块每日发帖之星
日期:2016-08-06 06:20:00程序设计版块每日发帖之星
日期:2016-08-08 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00
发表于 2016-08-11 11:11 |显示全部楼层
回复 17# RE_HASH


我的意思
PHP 正则表达式特殊字符

[[:alpha:]]

[[:digit:]]

[[:alnum:]]       

[[:space:]]       

[[:upper:]]       

[[:lower:]]       

[[:punct:]]       

类似这样的特殊字符,包括你的上面的代码里面的。请问大神。哪里能看到介绍比较全面?给个关键字或链接都行

麻烦辛苦了




   

论坛徽章:
0
发表于 2016-08-22 16:53 |显示全部楼层
庆祝女排夺金,特奉献powershell解题方法(其原理其他脚本语言适用):

问:别人给你一个string,并不知道之中含有哪国文字。如何拆分成单个字?(可能有中文,英文,阿拉伯文)的组合
答:
"abc".tochararray() 即可。
【字符串】和【字符编码】是不可分割的部分。如果丢失字符编码将乱码。
只要知道字符编码,字符串根本不需要知道含有哪国文字!即可拆分!

问:现在我会拆分出单个字了。但如何让【字】变成【数字】呢?
答:
[int][char]'繁'

任何脚本通用的 汉字区分方法。



问:在文本文件中存入一个英文字母,或者一个汉字,保存。再打开,里面是什么?
答:数字而已。



问:这些数字有什么特色?
答:
各有各的数值范围(数字区间)。详见ascii码表。
键0-9          值48---57
a-z            97---122
A-Z            65---106
汉字都超过255,即255---65535区间。还包括了简体和繁体。
当然还有很小部分特殊的unicode符号超过了65535,我们这里不讨论。



问:如何区别简体还是繁体?
答:
除了上面的区间判断法之外,还可以用【简繁转换法】来判断。
给你一个不知道是简体,还是繁体的汉字。用我分享的【简体转繁体】转换脚本代码,转换。
转换后的输出和输入相等,那么就是繁体。
也就是说【繁体字】再转换成【繁体字】,结果不变。


先把大大于255,小于65535的都判断成汉字,再除去繁体字,剩下的不是简体字的用肉眼过滤筛选。重新设置区间即可。


随便给你一句话,如【ps为win峰,每个字已看透,不再自困!】
你把它都拆到基因里了。还有什么看不透,判断不出的么?

  1. $a = ('ps为win峰,每个字已看透,不再自困!').tochararray()
  2. foreach ($b in $a)
  3. {
  4.         $c = [int][char]$b
  5.         if (($c -gt 97) -and ($c -lt 122))
  6.         {
  7.                 write-host  "$b   是小写英文字母"
  8.         }
  9.     #这里多加几个if,分别判断几种情况区间
  10. }
复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP