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

时间:2014-08-11 09:08:23

标签: c# .net string substring

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

一旦我得到行号,我必须阅读该行并了解其中的哪些内容是字符,什么是整数或数字。

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

    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;
    }

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

请帮帮我..

1 个答案:

答案 0 :(得分:1)

  

好的我会简化。如何获取特定文本的行号   在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;
}