【发布时间】:2011-12-27 05:06:12
【问题描述】:
仅当该文件没有特定模式时,我才从文件中取出一行。我想从该行中取出最后 3 个字符...我的代码是:
while (!line.Contains(pattern))
{
String num = line.Substring((line.Length - 3), (line.Length - 2));
System.Console.WriteLine(num);
}
但我得到一个错误..
索引和长度必须引用字符串中的位置。 参数名称:长度
我为什么会这样?我在行尾前 3 个字符开始新字符串,并且在前 2 个字符停止.. :\
【问题讨论】:
-
大概你的字符串长度少于 3 个字符。
-
前 3 个字符开始,前 2 个字符停止 1 个字符。你想要 3 个字符还是 1 个字符?
-
您的线路有多长?如果您不检查子字符串之前的长度,您肯定会产生问题。
-
我不知道行长,因为它总是不一样...我只想要最后 3 个字符...
-
只是把它扔掉,但可能有一个漂亮的 RegEx 方法可以一次解析所有行并匹配每行的最后 3 个字符。