我有一个巨大的文字,我想要删除所有文字,只保留以" http"开头的行。
我怎么能这样做?
示例数据(我只想保留URL):
request": {
"method": "GET",
"http://10.0.183.17:8080/arcgis/rest1/services/NJMPROD/Topo_En/MapServer?f=json&pretty=true&callback=OpenLayers.Protocol.Script.registry.c1",
"httpVersion": "HTTP/1.1",
"headers": [
{
"name": "Pragma",
"value": "no-cache"
},
],
},
{
"startedDateTime": "2015-11-11T04:45:56.321Z",
"request": {
"http://10.0.183.17:8080/arcgis/rest1/services/NJMPROD/Satellite_En/MapServer?f=json&pretty=true&callback=OpenLayers.Protocol.Script.registry.c2",
"httpVersion": "HTTP/1.1",
答案 0 :(得分:2)
使用this post中的一些信息,您可以通过以下方式标记所有行:
Search menu -> Mark
在"找到什么"字段:
\w*"http://.*"
确保"书签行"和"正则表达"选中选项,然后单击"全部标记"。
然后您可以通过以下方式删除所有未标记的行:
Search menu -> Bookmark -> Remove Unmarked Lines
如果你真的只想要没有引号和标点符号的URL,你可以使用replace(ctrl + h)和以下正则表达式:
Find what: "|,
Replace with: (leave blank)
然后点击"全部替换"。要清理空格,请使用:
Edit menu -> Blank Operations -> Trim Leading and Trailing Space
如果您只使用Notepad ++,有点麻烦。假设您正在运行Windows,您可以安装Cygwin + GNU utils以使用sed和grep等命令行工具。
答案 1 :(得分:0)
此解决方案使用Notepad ++替换功能:
1)打开替换对话框((Strg + H))并输入此表达式(进入“查找内容”字段) :
^(?!\s+"http://).*$
简短正则表达式步骤
^ 线的开头
(?!...)负向前瞻 - >这个序列不应该出现 \ s + 一个或多个空格
“http:// 只是匹配的字符序列(在您的情况下不与负向前瞻相匹配)
。* 零个或多个字符
$ Lineend这是表达式https://regex101.com/r/qS5iE1/1的在线演示 (这也是测试表达式的好地方)
2)清除“替换为”字段(或留空)并设置“正则表达式”搜索模式并点击“全部替换”
(对不起,截图是德文版)
3)你完成了! :)
4)可选:删除您可以执行此操作的空白
此操作的最终结果如下所示(在win7上使用notepad ++ Version 6.7 +)