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

查看:21
本文介绍了如何在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#中获取字符串中特定文本的行号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆