📜  C# 字符串转到行 - C# (1)

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

C#字符串转换到行

在C#中,字符串转为行,是将字符串按照指定的分隔符分割成多个行的过程。这在读取文件内容等场景中非常常见。本篇文章将为大家介绍如何在C#中实现字符串转为行操作。

使用Split方法实现字符串转为行

在C#中,我们可以使用字符串的Split方法来实现字符串转为行操作。Split方法可以将一个字符串按照指定的分隔符拆分成一个字符串数组。因此,我们可以将字符串按照特定符号(如空格、逗号、分号等)分割为多个子字符串,然后将其添加到一个列表中,最后将列表转为字符串数组即可完成字符串转为行操作。下面是一个示例代码:

string input = "这里是第一行\r\n这里是第二行\r\n这里是第三行";
string[] lines = input.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);
foreach (string line in lines)
{
    Console.WriteLine(line);
}

上述代码使用了String的Split方法将原始字符串按照“\r\n”或“\n”分隔成了多个字符串,然后将其添加到了一个字符串列表中。最后,使用foreach循环遍历列表并输出每一行字符串。运行结果如下:

这里是第一行
这里是第二行
这里是第三行
使用正则表达式实现字符串转为行

除了使用Split方法,我们还可以使用正则表达式来实现字符串转为行操作。首先,我们需要使用正则表达式将原始字符串中的所有行尾符号(如\r、\n、\r\n等)替换为指定的分隔符。然后,我们可以使用Split方法将字符串按照指定的分隔符分割成多个子字符串。下面是一个示例代码:

string input = "这里是第一行\r\n这里是第二行\r\n这里是第三行";
string[] lines = Regex.Split(input, "(?<=\r\n|\n)");
foreach (string line in lines)
{
    Console.WriteLine(line);
}

上述代码使用了正则表达式将原始字符串中的所有行尾符号替换为“\n”,然后使用Split方法按照“\n”分割字符串,最终得到多个子字符串。在正则表达式中,使用了“(?<=…)”语法来表示正则表达式的位置是指定字符集合的位置(即行尾符号的位置)。运行以上代码的结果与之前相同。

结语

以上两种方法都可以实现字符串转为行的操作,但各自有其适用的场景。在大量数据分隔的场景中,使用正则表达式会比Split方法更快。但如果只需要分隔简单的字符串,在性能方面,两种方法差别不大。因此,应根据实际场景选择适合的方法。