【发布时间】:2021-03-05 18:06:46
【问题描述】:
使用竖线分隔的文件。目前,我使用 Notepad++ 查找和替换 REGEX 模式 ^(?:[^|]*\|){5}\K[^|]*,它将所有行替换为第 5 和第 6 之间的空字符串 |。我正在尝试以编程方式执行此过程,但.NET 不支持\K。我已经尝试了一些向后查找的实例,但我似乎无法掌握它。
string[] lines = File.ReadAllLines(path);
foreach (string line in lines)
{
string line2 = null;
string finalLine = line;
string[] col = line.Split('|');
if (col[5] != null)
{
line2 = Regex.Replace(line, @"^(?:[^|]*\|){5}\K[^|]*", "");
【问题讨论】:
-
在网上看到这个:community.notepad-plus-plus.org/topic/18568/…。听起来 \K 是不完整的正则表达式语法实现的解决方法。