优秀的编程知识分享平台

网站首页 > 技术文章 正文

使用vscode正则快速提取数据(vscode 提取变量)

nanyue 2024-09-10 16:09:51 技术文章 11 ℃

vscode 是一个轻量编辑器。

正则全称叫正则表达式,应用相当广泛,可用的地方很多,这里就简单说一下工作中使用正则来提取数据。

假如有这么一些数据,需要提取里面的数字,进行处理:


正则的使用其实就是发现数据的共通之处,我们要提取的是数字,里面还包含有逗号和小数点,还有一些无用的空格和识别错误的摄氏度符号。这些是我从截图中提取的文字,很多ocr软件都可以做到,我这里使用的是微软的OneNote。

下面开始处理这些乱七八糟的数据。

我们发现我们要提取的数字,都是数字开头

\d 就是表达要匹配一个数字,+标识匹配一次以及一次以上,点是匹配任意字符,*代表匹配零次或者多次

\d+.*\d


这样就把想要的匹配出来了。将其复制出来

2 135 . 57
1 , 506 . 52
10,000.00
0 ℃ 0
2 , 180 . 70
1 , 530 ℃ 7
10 , 000 ℃ 0
0 ℃ 0
2 , 308 . 76
1 , 635 . 94
10 , 000 ℃ 0
0 ℃ 0
2 , 332 , 92
1 , 603 . 93
2 , 386 . 49
1 , 767 , 50
20,000.00
0 . 00
10,000.00
0 . 00
2 , 561.35
1 , 768 . 84

我们发现13行和16行的小数点有问题,小数点误识别成了逗号

可以用下面的正则匹配:下面的$1是一个引用,引用上面正则括号里面匹配的内容


此时,匹配到了这两条需要修复的数据,全部替换即可


下面处理特殊符号,选中ctrl+h全部替换为空即可


接着同理,处理逗号,空格,小数点,注意第六行有个摄氏度符号要将其替换为小数点


最后可以处理一下.00,反斜线代表转义符,就是匹配点本身,因为上面说过点匹配任意字符的,要想匹配本身需要添加反斜线


\.00

最后处理完成的数据


最近发表
标签列表