ron*_*ong 6 regex csv sublimetext
我有一些包含数万行格式的文件:
value1, value2, value3, value4, value5, value6, value7, value8, value9, value10
value1, value2, value3, value4, value5, value6, value7, value8, value9, value10
value1, value2, value3, value4, value5, value6, value7, value8, value9, value10
Run Code Online (Sandbox Code Playgroud)
我想替换value10一定数量(比方说x).所以结果应该是:
value1, value2, value3, value4, value5, value6, value7, value8, value9, x
value1, value2, value3, value4, value5, value6, value7, value8, value9, x
value1, value2, value3, value4, value5, value6, value7, value8, value9, x
Run Code Online (Sandbox Code Playgroud)
我想用正则表达式来做这件事.我有Sublime Text作为文本编辑器.
您可以使用此正则表达式进行搜索:
^((?:[^,]+,\s*){9})[^,]+
Run Code Online (Sandbox Code Playgroud)
并替换为:
$1x
Run Code Online (Sandbox Code Playgroud)
((?:[^,]+,\s*){9})将匹配并分组可在反向引用中使用的前9个逗号分隔的值$1。[^,]+外括号将匹配要替换的第十个值。
PS:验证了反向引用也适用Sublime Test 3。
^(?:[^,]+,\s*){9}\K[^,]+
Run Code Online (Sandbox Code Playgroud)
您可以使用\K放弃9匹配项,然后替换。请10th参见演示。
https://regex101.com/r/kN5uS9/3