现在的位置: 首页 > 综合 > 正文

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

2014年09月05日 ⁄ 综合 ⁄ 共 3153字 ⁄ 字号 评论关闭

       本文来自:高爽|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,转载请注明。

抱歉!评论已关闭.