gpt4 book ai didi

regex - VI 删除除模式之外的所有内容

转载 作者:行者123 更新时间:2023-12-02 07:24:36 25 4
gpt4 key购买 nike

我有一个巨大的 JSON 输出,我只需要删除每行中除了一个小字符串之外的所有内容。

字符串具有格式

"title": "someServerName"

“someServerName”(引号内的部分)可能会有很大差异。

我最接近的是这个:
:%s/\("title":\s"*"\)

但这只是设法删除
"title": "

我想要在每一行中留下的唯一东西是
"title": "someServerName"

编辑以回答发布的问题:

我将要处理的文本的格式类似于
{"_links": {"self": {"href": "/api/v2/servers/32", "title": "someServerName"},tons_of_other_json_crap_goes_here

最后我想要的只是:
"title": "someServerName"

最佳答案

应该是 .*而不是 *匹配一组任意字符。这可以完成以下工作:

%s/^.*\("title":\s".*"\).*$/\1/

各部分说明:
  • %s/在每个匹配行上替换。
  • ^.*忽略从行首开始的任何字符。
  • \("title":\s".*"\)捕获标题和服务器名称。 ".*"将匹配引号之间的任何字符。
  • .*$忽略该行的其余部分。
  • /\1/替换的结果将是第一个捕获的组。该组被括号捕获 \(...\) .
  • 关于regex - VI 删除除模式之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34637021/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com