我在 .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
- 转到搜索->替换。
- 放找什么到
^value1=".*",value2=".*",value3="(.{10})",value4=".*"$
。 - 放用。。。来代替到
\1
。 - 放搜索模式到
Regular expression
。 - 按全部替换。
答案2
使用搜索模式=Regular Expression
搜索:^.*,value3="([^"]*)".*$
替换为:\1
答案3
萨姆的解决方案对我来说不起作用。
对于您提供的示例数据,以下正则表达式有效。它对长度没有任何假设,除了值不能包含"
,即使它被转义(取决于您的数据源,这一点值得一提)。
这也不假设它前面有一个value1
或value2
。它们可以选择性地被省略,或者可以选择性地有额外的或无序的值。
- 搜索 -> 替换 (或Ctrl+ h)
- 将搜索模式设置为正则表达式
输入以下内容找什么场地
^.*value3="([^"]*)".*$
放用。。。来代替到
$1
- 全部替换