繁体   English   中英

仅读取大字符串的一部分

[英]Read just a part of a big string

我有一个大的字符串要读取,并且总是不同的,但是一个词总是相同的。 这个单词是MESSAGE ,所以如果我的字符串阅读器遇到这个单词,则必须将整个字符串写到光盘上。 我做了一些代码,但是它不起作用,如果if段永不触发,这是怎么回事?

string aLine;
StringReader strRead = new StringReader(str);
aLine = strRead.ReadLine();

if (aLine == "MESSAGE")
{
    //Write the whole file on disc
}

您可以使用包含,

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

您可以使用String.Contains

if (aLine.Contains("MESSAGE"))

您也可以使用String.IndexOf,但是由于索引与此处无关,因此最好使用Contains

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

如果您需要忽略大小写或Cultrue敏感性,则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)
{
    ....
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM