从特定位置读取文本文件数据

时间:2014-06-05 05:03:59

标签: c#

我正在尝试从特定位置读取文本文件数据到结尾。我有一个像5& 5这样的凝视位置。结束位置18 我正在阅读我的文本文件,如下所示。 1234 12134

string[] lines = File.ReadAllLines(@"D:\TXTFILE.txt");
var a = lines[0].Substring(5, 18);  // 1234      12134

但我收到的错误如下:

  

索引和长度必须指代字符串中的位置。

从5到18个数据在起始和开始时都有空间特征。结束。

请让我知道如何修复这个bcz我不想修剪这些空白区域。

2 个答案:

答案 0 :(得分:0)

   public string Substring(
        int startIndex,
        int length
    )

从此实例中检索子字符串。子字符串在指定的字符位置开始,并具有指定的长度

18不是你的长度,你的概率是18-5 = 13。 只要您认为(18 + 5 = 23个字符),您的字符串就不会出现例外情况。

在你的情况下,你在这里输入的字符串只有16个字符长,所以我不知道你想要在这里做什么。

示例:

string str = 'testing this';
string newStr = str.SubString(0,2); //  'te'
string newStr2 = str.SubString(1,4); //  'esti'

MSDN

答案 1 :(得分:0)

当您尝试获取子串23start index 5时,该行必须包含至少length next to 5th index is 18个字符。

string[] lines = File.ReadAllLines(@"D:\TXTFILE.txt");

foreach(string line in lines)
{
      if(line.Length >= 23)
      {
          var a = line.Substring(5, 18);
      }
}