📜  c# 从字符串中读取第 3 行 - C# (1)

📅  最后修改于: 2023-12-03 14:59:41.493000             🧑  作者: Mango

C# 从字符串中读取第 3 行

在 C# 中,可以从字符串中读取特定行的方法。本文将介绍如何从一个字符串中读取第 3 行。

使用 Split 方法

C# 中的 Split 方法会将字符串分割为一个字符串数组,并可指定分隔符。由于每行以换行符 '\n' 结尾,因此可以使用 Split 方法将字符串分割为每一行,然后再从中取第 3 行。

string str = "第 1 行\n第 2 行\n第 3 行\n第 4 行\n第 5 行";
string[] lines = str.Split('\n');
string line3 = lines[2]; // 从数组中取第 3 行

以上代码中,首先定义了一个字符串 str,包含了 5 行文本。然后使用 Split 方法分割为一个字符串数组 lines。最后从中取出第 3 行。

使用 Substring 和 IndexOf 方法

除了使用 Split 方法,还可以使用 Substring 和 IndexOf 方法来获取第 3 行。IndexOf 方法用于搜索字符串中第一个出现的指定字符的位置,并返回其索引。而 Substring 方法则返回一个新字符串,它是此实例的一个子字符串。

string str = "第 1 行\n第 2 行\n第 3 行\n第 4 行\n第 5 行";
int start = str.IndexOf("\n") + 1; // 找到第一个换行符的位置,并向后移动一位
int end = str.IndexOf("\n", start); // 找到第二个换行符的位置
string line3 = str.Substring(start, end - start); // 截取第 3 行

以上代码中,首先定义了一个字符串 str,包含了 5 行文本。使用 IndexOf 方法找到第一个换行符的位置,并向后移动一位(即第 2 行的开始位置)。然后再使用 IndexOf 方法找到第二个换行符的位置(即第 3 行的结束位置)。最后使用 Substring 方法截取第 3 行。需要注意的是,由于 Substring 方法的第二个参数是截取的长度而非结束位置,因此需要减去开始位置才能得到正确的长度。

结论

以上就是从字符串中读取第 3 行的两种方法。其中使用 Split 方法的代码较为简洁,但如果字符串较大,则不适宜使用,而应该使用第二种方法。