Tip | Notepad++正则表达式替换

引言

我们在用各种文本编辑器,比如word、txt、vscode等时,有时候都会通过查找以及替换方便批操作。比如,去掉所有:符号,这些简单操作可以用于许多简单问题。但是对于更复杂的问题则比较难解决了,比如我想将所有[***][]去掉,留下***,而且不希望其他地方的[]被改动,这个时候就要用到正则化了。

Notepad++的替换操作支持正则表达式替换。结合正则化的背景也能完成一些基本操作,但是更复杂的时候就需要更多技巧了,这里列一下,放遗忘 😃

P.S 这里默认掌握基本正则化知识,如有不懂,可以先去补充相关知识,比如菜鸟教程,欢迎提问~

正则化

Ctrl + H进入替换界面
在这里插入图片描述

入门

以该数据为例:

‘Albania’: 2878549,
‘Austria’: 8857960,
‘Belgium’: 11449656,
‘Bosnia & Herzegovina’: 3511372,
‘Bulgaria’: 7000039,
‘Croatia’: 4105493,
‘Czechia’: 10627794,
‘Denmark’: 5837213,
‘Estonia’: 1328976,
‘Hungary’: 9771000

比如我想去除所有数字:
F: \d+
L:

效果:
在这里插入图片描述
如果想把后面的,也去掉,注意最后一行没有,
F: [\d,]+
L:

同理,想去掉数字前面的那一串:
F: '[\S ]+':
L:
在这里插入图片描述

进阶(换行符)

介绍下换行符,制表符这些操作,notepad++的换行符不太一样,是\r\n,值得注意。
比如我们想将这些都放在一行,即去掉换行符:
F: ,\r\n
L: ,

效果如下
在这里插入图片描述再来一个,比如我们不想让这个空行:

Albania

Austria

Belarus

Belgium

Bosnia and Herzegovina

Bulgaria

Croatia

F: \r\n\r\n
L: \r\n
效果如下:
在这里插入图片描述

再进阶(提取)

上面这些可以满足一定量的需求,但是可以发现它的功能都集中在找到某个模块,然后剔除,或者替换成某个固定模块。
当我想找到某个模块,然后想对里面进行某些操作,就需要进一步技巧了。

还是第一个例子:
‘Albania’: 2878549,
‘Austria’: 8857960,
‘Belgium’: 11449656,
‘Bosnia & Herzegovina’: 3511372,
‘Bulgaria’: 7000039,
‘Croatia’: 4105493,
‘Czechia’: 10627794,
‘Denmark’: 5837213,
‘Estonia’: 1328976,
‘Hungary’: 9771000

我们想去掉所有符号,保留符号里的字母和文字
当然我们可以:
F: ['']
L:

我们也可以找到'***'这块,然后提取,这在很多数据清理中有着很大的作用:
F: '([\S ]+)'
L: \1 或者$1

其中,()里的内容表示要提取的,\1 或者$1表示目标中第一个圆括号匹配的内容。该方法特别适合处理大量数据,包括文件名,数字字母混杂数据等。

效果如下:
在这里插入图片描述
如果有多个()\1,\2类推~
比如我们只想保留字母和数字
剔除其他方法:
F: ['':,]
L:

提取方法:
F: '([\S ]+)': (\d+),*
L: \1 \2
在这里插入图片描述

这个学会了,用多还是挺方便好玩的~

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值