Chinaunix首页 | 论坛 | 博客
  • 博客访问: 406113
  • 博文数量: 23
  • 博客积分: 6136
  • 博客等级: 准将
  • 技术积分: 992
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-16 15:02
文章存档

2012年(1)

2011年(1)

2010年(7)

2009年(7)

2008年(7)

分类: LINUX

2010-11-10 21:08:04

最近需要处理一些具有特殊字符的语料,查了一些资料,在这里记录一下经验以便今后查询吧
1. 匹配文本中的所有英文字符
   /[a-zA-Z]/
2. 匹配文本中的所有非英文字符
  /[^a-zA-Z]/
举例:假如文档n.txt内容如下

windows操作系统
unix
1world1dream
directX11

需要将所有的非英文字符替换为大写字母“I”,命令为:

sed -i "s/[^a-Z]/I/g" n.txt

若只需要替换文本中的非英文、非数字,则可以

sed -i "s/[^a-z0-9]/I/g" n.txt

将n.txt中英文和中文之间插入一个“换行符”,其中的\([a-z]\)即对应后面的\1,而\([^a-z0-9]\)对应\2,换行符用“\n”表示,这种方法通常用于网页文本的过滤

sed -i 's/\([a-z]\)\([^a-z0-9]\)/\1\n\2/g' n.txt



阅读(1218) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~