用于替换 CSV 文件中第 10 个逗号分隔列的正则表达式
Regex for replacing 10th comma-separated column in CSV file
我有一些包含数万行格式的文件:
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
我想用某个数字(比如x
)替换value10
。所以结果应该是:
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
我想用正则表达式来做这个。我有 Sublime Text 作为文本编辑器。
您可以使用此正则表达式进行搜索:
^((?:[^,]+,\s*){9})[^,]+
并替换为:
x
((?:[^,]+,\s*){9})
将匹配和分组前 9 个逗号分隔值,您可以在反向引用 </code> 中使用这些值。 <code>[^,]+
括号外将匹配要替换的第 10 个值。
PS:已验证反向引用在 Sublime Test 3
中也有效。
^(?:[^,]+,\s*){9}\K[^,]+
您可以使用 \K
丢弃 9
个匹配项,然后替换 10th
。查看演示。
https://regex101.com/r/kN5uS9/3
我有一些包含数万行格式的文件:
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
我想用某个数字(比如x
)替换value10
。所以结果应该是:
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
我想用正则表达式来做这个。我有 Sublime Text 作为文本编辑器。
您可以使用此正则表达式进行搜索:
^((?:[^,]+,\s*){9})[^,]+
并替换为:
x
((?:[^,]+,\s*){9})
将匹配和分组前 9 个逗号分隔值,您可以在反向引用 </code> 中使用这些值。 <code>[^,]+
括号外将匹配要替换的第 10 个值。
PS:已验证反向引用在 Sublime Test 3
中也有效。
^(?:[^,]+,\s*){9}\K[^,]+
您可以使用 \K
丢弃 9
个匹配项,然后替换 10th
。查看演示。
https://regex101.com/r/kN5uS9/3