最近需要处理一些具有特殊字符的语料,查了一些资料,在这里记录一下经验以便今后查询吧
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) |