HOWTO · Csharp

在 C# 中按新行拆分字符串

在本教程中,我们将了解如何在 C# 中按新行拆分字符串。

本页内容

本文将介绍如何在 C# 中使用特定字符按新行拆分字符串。

有两种方法可以在新行上拆分字符串,它们的工作方式相同。这些将在以下部分中讨论和实施。

在 C# 中使用 String.Split() 按新行拆分字符串

首先,我们需要导入 System 库以访问示例中使用的所有方法和函数。

using System;

然后,让我们创建一个类 SplitStringNLine,在这个类中,我们将创建我们的 Main() 方法。

public class SplitStringNLine {
  public static void Main(string[] args) {}
}

我们需要一个可以在新行上拆分的字符串。所以,让我们初始化一个名为 stringToBeSplit 的变量,并给它一个随机句子,Split() 方法将使用它。

string stringToBeSplit =
    "C Sharp " + "is " + "A " + "Programming " + "Language " + "available " + "globally.";

初始化随机字符串后,我们需要一个变量来保存拆分字符串的值。

string[] splitString;

然后,我们需要通过使用 Split() 函数为它分配 stringToBeSplit 来初始化这个变量,并传递一个字符串 r。一旦遇到 r 字符,它将使用 Split() 方法按新行拆分字符串。

splitString = stringToBeSplit.Split("r");

让我们向用户展示原始字符串。

Console.WriteLine("String to be Split");
Console.WriteLine(stringToBeSplit);

现在,我们需要输出分割字符串。我们需要在这里使用一个循环,因为每次它拆分字符串时,都需要在控制台中显示。

我们将使用一个 foreach 循环来检查字符串并在每次迭代后显示它,在拆分过程结束后自动终止。

Console.WriteLine("\nSplit string by the *r* character:");
foreach (string str in splitString) {
  Console.WriteLine(str);
}

源代码:

using System;

public class SplitStringNLine {
  public static void Main(string[] args) {
    string stringToBeSplit =
        "C Sharp " + "is " + "A " + "Programming " + "Language " + "available " + "globally.";

    string[] splitString;
    splitString = stringToBeSplit.Split("r");
    Console.WriteLine("String to be Split");
    Console.WriteLine(stringToBeSplit);
    Console.WriteLine("\nSplit string by the *r* character:");
    foreach (string str in splitString) {
      Console.WriteLine(str);
    }
  }
}

输出:

String to be Split
C Sharp is A Programming Language available globally.

Split string by the *r* character:
C Sha
p is A P
og
amming Language available globally.

在 C# 中使用 Regex.Split() 按新行拆分字符串

在这种方法中,我们需要在代码开头进行额外的导入。

using System.Text.RegularExpressions;

在拆分操作之前,以下步骤与上一节中描述的步骤类似。但是,我们将使用带有 Split() 函数的 Regex 类并传递两个必需的参数。

一个是要拆分的字符串,stringToBeSplit,另一个是需要拆分字符串的字符。所有剩余的步骤都是相同的,显示一些信息,原始字符串和拆分字符串。

源代码:

using System;
using System.Text.RegularExpressions;

public class SplitStringNLine {
  public static void Main(string[] args) {
    string stringToBeSplit =
        "C Sharp " + "is " + "A " + "Programming " + "Language " + "available " + "globally.";
    string[] splitString;
    splitString = Regex.Split(stringToBeSplit, "r");
    Console.WriteLine("String to be split");
    Console.WriteLine(stringToBeSplit);
    Console.WriteLine();

    Console.WriteLine("\nSplit string by the *r* character:");
    foreach (string str in splitString) {
      Console.WriteLine(str);
    }
  }
}

输出:

String to be split
C Sharp is A Programming Language available globally.

Split string by the *r* character:
C Sha
p is A P
og
amming Language available globally.