使用ultraEdit 进行字符串操作技巧



ultraEdit 是人们最常用的字处理软件之一,如果能够掌握字符串查找、替换方法,一定能让你在日常字符串操作中如虎添翼,事半功倍。

字符串替换包括查找,因此文中主要讲述字符串替换。字符串替换包括普通字符替换、通配符替换和正则表达式替换三种,普通字符串替换属于精确匹配,在此不必多讲。以下主要说说通配符替换和正则表达式替换。

一、通配符替换。

1)删除空行: 替换 %[ ^t]++^p 为 空串

2)删除行尾空格: 替换 [ ^t]+$ 为 空串

3)删除行首空格: 替换 %[ ^t]+ 为 空串

4)每行设置为固定的4个空格开头: 替换 %[ ^t]++^([~ ^t^p]^) 为 " ^1"

5)每段设置为固定的4个空格开头: 替换 %[ ^t]+ 为 " " (如果一行是以空格开始的,则视之为一段的开始行)

6)将一段合并为一行: 替换 [ ^t]++^p^([~ ^t^p]^) 为 ^1 (注意: 此处假定文本是以DOS方式回车换行 - CR/LF)

7)去掉HTML TAG: 替换 ^{<*>^}^{<*^p*>^} 为 空串

8)删除HTML中的所有: 替换 <[ ]++a *[ ]++href[ ]++=*> 为 空串

9)删除文本中指定的前2列字符: 替换 %?? 为 空串

10)在第4列后插入2列空白字符: 替换 %^(????^)^(?^) 为 "^1 ^2"

11)查找所有的数字: [0-9]+[.]++[0-9]+

12)查找所有的单词: [a-z]+

13)查找所有的网址: http://[a-z0-9^~`_./^-^?=&]+


日常工作中,使用这些通配符替换就能搞定字处理工作,但有时候需要更灵活的替换方式,那请继续往下看。


二、正则表达式替换技巧
UltraEdit正则表达式(UltraEdit Syntax)

%1 搜索以1开头的行

1$ 搜索以1为结尾的行

? 匹配单字符

* 匹配多字符

Te+st 匹配"test", "teest", "teeeest" 等. 但不匹配 "tst".

te++st 匹配"test", "teest", "teeeest","tst" 等. 但不匹配 .

^p 新行 (DOS Files格式)

^r 新行 (MAC Files格式)

^n 新行 (UNIX Files格式)

^t tab键

[1-9] 匹配1-9的数字

[linux] 匹配linux中任何一个单词

[~0-9] 除数字外任何一个词

"^{John^}^{Tom^}" 搜索john和tom 如john sdfasdf tom被选种,当然不包括sdfasdf,其中^{和^}是分割符


例子:

1:替换空格或TAB后的所有字符(这个常常在取字段列名时有用到,因为用desc列出来的信息降了列名外还有列类型,列空约束和列注释信息):
命令:将[ ^t]+*$替换为空
1.1:替换前,图1.1:
1.2:用CRTL+R调出替换窗口,然后按下面的输入,替换,图1.2(注意,此处要选择正则表示式,默认情况下不勾选):

1.3:替换后,图1.3:
 
从替换结果来看,说明查找的顺序是从前到后,替换是从第一个开始查找到的字符位置开始的。
依此递推,当我们想将特定字符串后的内容替换为特定内容或者空时,,只需将%*{特定字符串}替换成空为可以了。


2、替换含有空格或TAB键前的所有内容
操作:将%*[ ^t]替换为空
2.1替换前,如图1.1
2.2替换后,图2.2:

 
依此递推,当我们想将特定字符串前的内容替换为特定内容或者空时,只需将{特定字符串}+*$替换成空为可以了。

3、空行或仅含有空格和TAB键的行
操作:将%[ ^t]++^p替换为空
3.1:替换前,图3.1:
3.2:替换后,图3.2:

依此递推,如果想将仅含有特定字符串的行删除,也可采用%{特定字符串}++^p替换为空为可以了


4、在行末添加;分号字符
操作:将$替换成;
4.1:替换前,如图1.1。
4.2:替换后:

5、在行首添加添加4个空格:
操作:%替换成四个空格或者用UE的列块模式
5.1:替换前,如图1.1
5.2:替换后,图5.2:
 
6、将含有varchar字符串的行删除:
操作:将%*varchar*^p替换成空
6.1:替换前,如图1.1
6.2:替换后,图6.2:

7、以;做分隔,进行分行处理
操作:将;替换成;^p
7.1:替换前,图7.1:
7.2:替换后,图7.2:



小结:
      以上是一通配符和正则表达式在ultaEdit 中的使用技巧,掌握这些技巧对我们日常的文本处理和字符串匹配带来很大的便利性。如今,正则表达式已经在LINUX,Js脚本、编程语言等环境中已经广泛使用,功能强大但语法简单,值得我们花时间去学习掌握。








  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值