我有一个文本文件,我想用空格替换所有GUID。
我想要:
92094, "970d6c9e-c199-40e3-80ea-14daf1141904"
91995, "970d6c9e-c199-40e3-80ea-14daf1141904"
87445, "f17e66ef-b1df-4270-8285-b3c15da366f7"
87298, "f17e66ef-b1df-4270-8285-b3c15da366f7"
96713, "3c28e493-015b-4b48-957f-fe3e7acc8412"
96759, "3c28e493-015b-4b48-957f-fe3e7acc8412"
94665, "87ac12a3-62ed-4e1d-a1a6-51ae05e01b1a"
94405, "87ac12a3-62ed-4e1d-a1a6-51ae05e01b1a"
成为:
92094,
91995,
87445,
87298,
96713,
96759,
94665,
94405,
我该如何在Sublime 3中做到这一点?
答案 0 :(得分:2)
"[\da-f-]{36}"
LEAVE EMPTY
说明:
" : double quote
[ : start class character
\d : any digit
a-f : or letter from a to f
- : or a dash
]{36} : end class, 36 characters must be present
" : double quote
给定示例的结果
92094,
91995,
87445,
87298,
96713,
96759,
94665,
94405,
答案 1 :(得分:1)
尝试在正则表达式搜索模式下搜索此模式:
"[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}"
然后仅用空字符串替换。这应该删除GUID,从而为您提供所需的输出。
答案 2 :(得分:0)
另一种正则表达式解决方案,涉及略有不同的 search-replace 策略,在此我们不关心GUI格式,只需获取第一列即可:
([^,]*,).*
(同样不要忘记激活正则表达式模式。* )。$1
。这里的想法是捕获所有第一列。此处的列由
序列定义[^,]*
[^,]*,
第一列之后可以紧跟.*
(GUI格式无关紧要):[^,]*,.*
最后,我们需要使用group capturing:([^,]*,).*
在替换字段中,我们使用backreference $x
来表示第 x个捕获组。