通读流阅读器并使用行中的一些文本



使用streamReader读取文件。
如果该行以 1 开头,我想使用此行。
该行将如下所示:1,103,1,4454:HH

所以我想在第一个,之后但在第二个之前抓住这个数字。所以我需要103并将其分配给 ProductId:

int ProductID;
using (StreamReader sr = new StreamReader(fakeFileToProcess))
{
    while (!sr.EndOfStream)
    {
        string line = sr.ReadLine();
        if (line.StartsWith("1,"))
        {
            //so line will be 1,103,1,44543:HH
            //How do I capture the '103'...something like:
            //ProductID = line.read between "1," & ","(next comma)
        }
        if (line.StartsWith("25"))
        {
            continue;
        }
    }
}

您可以使用 String.Split() 函数来实现这一点:

来自 MSDN : String.Split()

返回一个字符串数组,其中包含此字符串中的子字符串 由指定字符串数组的元素分隔。一个 参数指定是否返回空数组元素。

试试这个:

string num = line.Split(',')[1].Trim();
if(int.TryParse(str,out ProductID)
{
   //success now ProductID contains int value (103)
}

完整代码:

int ProductID;    
using (StreamReader sr = new StreamReader(fakeFileToProcess))
{
    while (!sr.EndOfStream)
    {
        string line = sr.ReadLine();
        if (line.StartsWith("1,"))
        {
            string num = line.Split(',')[1].Trim();
            if(int.TryParse(str,out ProductID)
            {
                //parsing is successful, now ProductID contains int value (103)
            }    
        }
        if (line.StartsWith("25"))
        {
            continue;
        }
    }
}

使用字符串。索引 当您有一个如此清晰的分隔数据时。
IndexOf比将字符串拆分为部分更好,因为您不需要创建字符串数组

   if (line.StartsWith("1,"))
   {
       // search the second comma after  the first one....
       int pos = line.IndexOf(',', 2);
       // for simplicity, do not check if you really have found a second comma....
       string id = line.Substring(2, pos - 2);
       // Try to convert whatever is between the first comma and the second one..
       if(Int32.TryParse(id, out productID))
           Console.WriteLine("Got it:" + productID.ToString());
   }
您可以使用

string.Split()方法来实现您想要的。若要转换为int请使用 int.Parse() 方法。

因此,您可以执行以下操作:

List<string> items = line.Split(',');
ProductID = int.Parse(items[1]);

相关内容

  • 没有找到相关文章

最新更新