读取大字符串的一部分

本文关键字:一部分 字符串 读取 | 更新日期: 2023-09-27 18:11:10

我有一个大字符串要读,它总是不同的,但一个词总是相同的。这个词是MESSAGE,所以如果我的字符串阅读器遇到这个词它必须把整个字符串写到磁盘上。我写了一些代码,但它不工作,if段从未触发,这里出了什么问题?

string aLine;
StringReader strRead = new StringReader(str);
aLine = strRead.ReadLine();
if (aLine == "MESSAGE")
{
    //Write the whole file on disc
}

读取大字符串的一部分

你可以使用Contains,

if(aLine.Contains("MESSAGE")
{
}

您可以使用String。包含

if (aLine.Contains("MESSAGE"))

也可以使用String。IndexOf但是作为索引在这里不相关,所以最好使用Contains

if (aLine.IndexOf("MESSAGE") != -1)

如果您需要忽略大小写或文化敏感性,那么IndexOf将为它提供重载方法String。IndexOf(string value, StringComparison, comparisonType)

if (aLine.IndexOf("MESSAGE", StringComparison.InvariantCultureIgnoreCase) != -1)

您可以更改代码以使用Contains。

            string aLine;
            StringReader strRead = new StringReader(str);
            aLine = strRead.ReadLine();
            if (aLine.Contains("MESSAGE"))
            {
              //Write the whole file on disc
            }

我想你可能在寻找类似String.IndexOf的东西。在这种情况下,您可以使用以下命令:

if (aLine.IndexOf("MESSAGE") > -1)
{
    ....
}