有什么方法可以删除GET单词之前的所有字符?

问题描述 投票:0回答:2

我在Windows上使用崇高的文字,并且我有类似的内容。

race-position-18374327498.png:1 GET   https://google.com/example.png
race-position-453452.png:1 GET https://google.com/example1.png
race-position-343532.png:1 GET  https://google.com/example.png
race-position-4543646554764576574564.png: GET https://google.com/example22.png
race-position-5765865865843655.png: GET https://google.com/example434.png

我想摆脱GET单词之前的所有内容,所以我想要这样的输出。

https://google.com/example.png
https://google.com/example1.png
https://google.com/example.png
https://google.com/example22.png
https://google.com/example434.png

在任何软件中,有没有办法做到这一点?帮我。预先感谢。

notepad++ sublimetext3 text-editor
2个回答
2
投票
对于您给出的数据集,其中包括没有GET的行,简单的

find + replace正则表达式

您可以在顶部菜单中使用“查找”然后“替换”,或随时单击“ ctrl + h”来进行设置

1. 查找

.*\shttp
  1. REPLACE
http因此它将替换所有字符,直到找到(whitespace)http匹配项>>

whitespace

是一个健全性检查,因为左侧可能在其中带有“ http”,但是极不可能在其后跟随http。

编辑

@ Robert Mennell的评论使我意识到我不知道左侧是否可以包含空格,因此这里提供了改进的正则表达式供您处理]

FIND

^(.*)\shttp([^\s]*)$

REPLACE

http\2

正则表达式

    [.表示任何字符
  • [*表示0-很多
  • \s用于空格
  • [()定义组
  • [\1\2等是您回叫这些组的方式
  • ^是行开头
  • $是行尾
  • [行的开头和结尾只是确保每行都分开,并且通过确保http直到行尾没有空格,它处理了左侧的空白。

您可以使用更丰富的版本来实现相同的结果,但是至少在

sublime text 3

中,查找替换工具已经具有默认修饰符,因此.不会替换换行符,并且会找到多个匹配项,因此它非常简单的操作:)
这里是由正则文字[https://jdhao.github.io/2019/02/28/sublime_text_regex_cheat_sheet/]实现的正则表达式的一个很好的速查表>

实际上,您想要删除的是uri http部分之前的所有内容。为此,请使用“查找并替换”框,并对^.*http使用正则表达式,然后将其替换为http,然后应将其全部删除

^ beginning of line .* . any character * repeated http string of `http`

这将匹配其中包含http的任何行(这意味着它也与https兼容)及其一行中的所有字符,并将其替换为http

Documentation on the NotePad++ website about regular expressions


1
投票
实际上,您想要删除的是uri http部分之前的所有内容。为此,请使用“查找并替换”框,并对^.*http使用正则表达式,然后将其替换为http,然后应将其全部删除
© www.soinside.com 2019 - 2024. All rights reserved.