提取/删除除引号(“”)内的内容以及字符串后的所有其他文本

提取/删除除引号(“”)内的内容以及字符串后的所有其他文本

我在 .txt 文件中有一个非常大的数据输出,如下所示:

value1="1",value2="2",value3="test3",value4="4"
value1="1",value2="2",value3="anothertest3",value4="4"
value1="1",value2="2",value3="lasttest3",value4="4"

我想提取value3中引号内的值,使结果如下所示:

test3
anothertest3
lasttest3

我该如何做呢?

答案1

  1. 转到搜索->替换。
  2. 找什么^value1=".*",value2=".*",value3="(.{10})",value4=".*"$
  3. 用。。。来代替\1
  4. 搜索模式Regular expression
  5. 全部替换

答案2

使用搜索模式=Regular Expression

搜索:^.*,value3="([^"]*)".*$
替换为:\1

答案3

萨姆的解决方案对我来说不起作用。

对于您提供的示例数据,以下正则表达式有效。它对长度没有任何假设,除了值不能包含",即使它被转义(取决于您的数据源,这一点值得一提)。

这也不假设它前面有一个value1value2。它们可以选择性地被省略,或者可以选择性地有额外的或无序的值。

  1. 搜索 -> 替换 (或Ctrl+ h)
  2. 将搜索模式设置为正则表达式
  3. 输入以下内容找什么场地

    ^.*value3="([^"]*)".*$
    
  4. 用。。。来代替$1

  5. 全部替换

相关内容