当我有一个使用Regex
类获得的匹配项时,我如何像Notepad++那样找到匹配的行号和匹配行中的位置?
示例:
void Main()
{
string _strText = @"Line 1
Line 2
Line 3";
var re = new Regex("2");
var m = re.Match(_strText);
if (m.Success)
{
Console.WriteLine(m.Index); // outputs 13
// 13 -> line 2, position 6?
}
}
发布于 2019-05-06 20:08:42
获取匹配行号:
long lineNumber = _strText.Substring(0, m.Index).LongCount(chr => chr == '\n') + 1;
并在这一行获得太平洋字符的位置:
int fis = _strText.LastIndexOf("\n", m.Index);
int posi = m.Index - fis;
这里的posi是列的位置,这段代码对获取匹配的字符行号很有帮助,在这一行中,列不像visual studio编辑器。
https://stackoverflow.com/questions/56004152
复制相似问题