UltraEdit使用经验

 

都是些很简单的技巧,不过是自己摸索出来,记录一下。我用的版本是UltraEdit-32 13.00a 简体中文版。

  1、去重

  如果文本中的数据是一行一行的,有重复的内容,去重的方法是:文件——排序——高级排序/选项,选中“删除重复”。

  2、查找后乱码

   将文件另存为“UTF-16”格式的文本。代码页要设置成:

   高级——设置代码页/本地,“系统中已安装的代码页”,选择“936(ANSI/OEM-简体中文GBK)”;

  “系统已安装的地区”选择"中文(中国)中国人们共和国"。

  3、查找任意汉字

  选择Unix风格的正则表达式,查找 “[^一-龥]”。代码页设置如上。

  4、使用正则表达式,去除空行、行尾空格

   UltraEdit有两种传统形式的正则表达式:UltraEdit风格、Unix风格。设置在:高级——配置——搜索——正则表达式引擎。

  UltraEdit风格正则表达式:

  去除空行:    %[ ^t]++^p  替换为 空白(就是什么也不输入)

  去除行尾空格:   [ ^t]+$     替换为 空白

  Unix风格正则表达式:

  去除空行:    ^[   ]*      替换为 空白

  去除行尾空格:   [   ]+$     替换为 空白

  5、在UltraEdit风格正则表达式中,有个星号(*),功能是匹配任何除换行符外所出现的任意数量的字符。但在Unix形式正则表达式

  中却没有相应的符号,可以用 .* 来代替。

  .

 

  匹配任何除换行符之外的单个字符。不匹配重复的换行符。

 

  *

 

  匹配前面的字符 0 次或多次。

 

  6、如果一些操作是重复性的,可以用UltraEdit的宏来完成。 我常用的是查找后删除、或者复制。

  6.1 查找后删除

InsertMode
ColumnModeOff
HexOff
UnixReOn
  
Top
Loop
Find RegExp "要查询的内容"
IfFound
DeleteLine
EndLoop
Top
EndIf

  6.2 查找后复制

InsertMode
ColumnModeOff
HexOff
UnixReOn
NewFile
PreviousWindow
Top
ClearClipboard
Loop
Find RegExp "要查询的内容
IfFound
Copy
NextWindow
Paste
InsertLine
PreviousWindow
EndLoop
EndIf

你可能感兴趣的:(正则表达式,unix,引擎)