Notepad++列编辑正则查找替换

Posted 高爽 Coder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Notepad++列编辑正则查找替换相关的知识,希望对你有一定的参考价值。

       本文来自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/22507859,转载请注明。
目标

       将源数据转成初始化sql语句。
源数据

104110040018,1,中国银行,中国银行天津琼州道支行,NULL,1100,天津市,12,天津市
104110040059,1,中国银行,中国银行天津利民道支行,NULL,1100,天津市,12,天津市
104110040091,1,中国银行,中国银行天津九龙路支行,NULL,1100,天津市,12,天津市
104110040106,1,中国银行,中国银行天津枫林路支行,NULL,1100,天津市,12,天津市
104110040139,1,中国银行,中国银行天津滨湖路支行,NULL,1100,天津市,12,天津市
104110040155,1,中国银行,中国银行天津南楼支行,NULL,1100,天津市,12,天津市
104110045006,1,中国银行,中国银行天津和平支行,NULL,1100,天津市,12,天津市
104110050021,1,中国银行,中国银行天津海洋支行,NULL,1100,天津市,12,天津市
104110050048,1,中国银行,中国银行泰达大街支行,NULL,1100,天津市,12,天津市

处理列头

       将光标定位在第一行数据开始处,按alt+c组合键,弹出列编辑窗口,如图:

       

       插入相应文本,确定后,数据变成了下面这样:

insert into t_bank values(104110040018,1,中国银行,中国银行天津琼州道支行,NULL,1100,天津市,12,天津市
insert into t_bank values(104110040059,1,中国银行,中国银行天津利民道支行,NULL,1100,天津市,12,天津市
insert into t_bank values(104110040091,1,中国银行,中国银行天津九龙路支行,NULL,1100,天津市,12,天津市
insert into t_bank values(104110040106,1,中国银行,中国银行天津枫林路支行,NULL,1100,天津市,12,天津市
insert into t_bank values(104110040139,1,中国银行,中国银行天津滨湖路支行,NULL,1100,天津市,12,天津市
insert into t_bank values(104110040155,1,中国银行,中国银行天津南楼支行,NULL,1100,天津市,12,天津市
insert into t_bank values(104110045006,1,中国银行,中国银行天津和平支行,NULL,1100,天津市,12,天津市
insert into t_bank values(104110050021,1,中国银行,中国银行天津海洋支行,NULL,1100,天津市,12,天津市
insert into t_bank values(104110050048,1,中国银行,中国银行泰达大街支行,NULL,1100,天津市,12,天津市

处理列尾

       按ctrl+h组合键,弹出替换窗口,如图:

       

       windows下,每行都以这两个字符结束,\\r使光标移到行首,\\n使光标下移一行,注意要将查找模式选择为扩展,全部替换后,数据变成了下面这样:

insert into t_bank values(104110040018,1,中国银行,中国银行天津琼州道支行,NULL,1100,天津市,12,天津市);
insert into t_bank values(104110040059,1,中国银行,中国银行天津利民道支行,NULL,1100,天津市,12,天津市);
insert into t_bank values(104110040091,1,中国银行,中国银行天津九龙路支行,NULL,1100,天津市,12,天津市);
insert into t_bank values(104110040106,1,中国银行,中国银行天津枫林路支行,NULL,1100,天津市,12,天津市);
insert into t_bank values(104110040139,1,中国银行,中国银行天津滨湖路支行,NULL,1100,天津市,12,天津市);
insert into t_bank values(104110040155,1,中国银行,中国银行天津南楼支行,NULL,1100,天津市,12,天津市);
insert into t_bank values(104110045006,1,中国银行,中国银行天津和平支行,NULL,1100,天津市,12,天津市);
insert into t_bank values(104110050021,1,中国银行,中国银行天津海洋支行,NULL,1100,天津市,12,天津市);
insert into t_bank values(104110050048,1,中国银行,中国银行泰达大街支行,NULL,1100,天津市,12,天津市);
处理文本

       要将中文转换成两端带单引号的,匹配中文需要用正则[一-龥]+,这里的问题是我们替换的时候要获取当前匹配的字符串,按ctrl+h组合键,弹出替换窗口,如图:
       

       使用小括号将匹配的字符串包上,然后替换值中可以通过$1表达式来获取到当前正在匹配的值,这里可以更复杂些,比如存在多个小括号,相应的可以使用$1、$2、$3来获取对应值,全部替换后,就是我们最终想要的数据了。

insert into t_bank values(104110040018,1,'中国银行','中国银行天津琼州道支行',NULL,1100,'天津市',12,'天津市');
insert into t_bank values(104110040059,1,'中国银行','中国银行天津利民道支行',NULL,1100,'天津市',12,'天津市');
insert into t_bank values(104110040091,1,'中国银行','中国银行天津九龙路支行',NULL,1100,'天津市',12,'天津市');
insert into t_bank values(104110040106,1,'中国银行','中国银行天津枫林路支行',NULL,1100,'天津市',12,'天津市');
insert into t_bank values(104110040139,1,'中国银行','中国银行天津滨湖路支行',NULL,1100,'天津市',12,'天津市');
insert into t_bank values(104110040155,1,'中国银行','中国银行天津南楼支行',NULL,1100,'天津市',12,'天津市');
insert into t_bank values(104110045006,1,'中国银行','中国银行天津和平支行',NULL,1100,'天津市',12,'天津市');
insert into t_bank values(104110050021,1,'中国银行','中国银行天津海洋支行',NULL,1100,'天津市',12,'天津市');
insert into t_bank values(104110050048,1,'中国银行','中国银行泰达大街支行',NULL,1100,'天津市',12,'天津市');
       本文来自: 高爽|Coder,原文地址: http://blog.csdn.net/ghsau/article/details/22507859,转载请注明。

以上是关于Notepad++列编辑正则查找替换的主要内容,如果未能解决你的问题,请参考以下文章

notepad正则怎么替换其中一部分

notepad++ 使用(添加每行首尾字符,列操作)

notepad 如何将【001】替换成 第001章 ?

如何在 Notepad++ 正则表达式查找/替换中保留括号

notepad++ 正则表达式(记录)

正则表达式在Notepad ++中查找/替换多个文本