如何在C#中获取字符串中特定文本的行号

How to get the line number of specific text in string in c#(如何在C#中获取字符串中特定文本的行号)

本文介绍了如何在C#中获取字符串中特定文本的行号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个字符串,其中有很多行。现在根据我的要求,我必须在该字符串中搜索子字符串(文本),并找出该子字符串(文本)在该字符串中所在的行号。

获得行号后,我必须阅读该行并了解其中哪些内容是字符,哪些是整数或数字。

这是我用来读取特定行的代码。

private static string ReadLine(string text, int lineNumber)
{
    var reader = new StringReader(text);

    string line;
    int currentLineNumber = 0;

    do
    {
        currentLineNumber += 1;
        line = reader.ReadLine();
    }
    while (line != null && currentLineNumber < lineNumber);

    return (currentLineNumber == lineNumber) ? line : string.Empty;
}

但是如何搜索包含特定文本(子串)的行号?

推荐答案

好的,我来简化一下。如何获取特定文本的行号 在C#中的字符串中

然后您可以使用此方法:

public static int GetLineNumber(string text, string lineToFind, StringComparison comparison = StringComparison.CurrentCulture)
{
    int lineNum = 0;
    using (StringReader reader = new StringReader(text))
    {
        string line;
        while ((line = reader.ReadLine()) != null)
        {
            lineNum++;
            if(line.Equals(lineToFind, comparison))
                return lineNum;
        }
    }
    return -1;
}

这篇关于如何在C#中获取字符串中特定文本的行号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何在C#中获取字符串中特定文本的行号

基础教程推荐