gpt4 book ai didi

c# - 获取匹配模式的行号

转载 作者:太空狗 更新时间:2023-10-29 21:06:19 27 4
gpt4 key购买 nike

我使用这段代码来检查一个字符串是否存在于我加载到内存中的文本文件中

foreach (Match m in Regex.Matches(haystack, needle))
richTextBox1.Text += "\nFound @ " + m.Index;

正则表达式返回匹配发生的位置,但我想要知道行号吗?

最佳答案

最好的解决方案是调用一个仅在匹配发生时才获取行号的方法。这样,如果检查了多个文件并且带有 \n 的正则表达式将起作用,则性能不会受到太大影响。在 stackoverflow 的某个地方找到了这个方法:

    public int LineFromPos(string input, int indexPosition)
{
int lineNumber = 1;
for (int i = 0; i < indexPosition; i++)
{
if (input[i] == '\n') lineNumber++;
}
return lineNumber;
}

关于c# - 获取匹配模式的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8468147/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com