[C#]文字列を改行ごとに分割するには?

C#

どうも、ちょげ(@chogetarou)です。

文字列を改行ごとに分割する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列を改行ごとに分割する方法は、2つあります。

System.Linq

1つは、System.Linqを使う方法です。

まず、System.Linqを導入します。

using System.Linq;

次に、対象の文字列からSplit()を呼び出します。

Split()の第1引数に「new string[] { Environment.NewLine }」、第2引数に「StringSplitOptions.None」を指定します。

string[] splitArray = text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

上記のSplit()は、呼び出した文字列を改行ごとに分割した配列を返します。

使用例

using System;
using System.Linq;
public class Example
{
    public static void Main()
    {
        string text = "Taro\nJiro\nSaburo\nSiro\nGoro";
        
        string[] names = text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
        
        foreach(var name in names)
        {
            Console.WriteLine(name);
        }
    }
}

/*
    出力:
    Taro
    Jiro
    Saburo
    Siro
    Goro
*/

Regex

もう1つは、Regexを使う方法です。

まず、System.Text.RegularExpressionsを導入します。

using System.Text.RegularExpressions;

RegexからSplit()を呼び出します。

そして、Regex.Split()の第1引数に対象の文字列、第2引数にEnvironment.NewLineを指定します。

string[] splitArray = Regex.Split(text, Environment.NewLine);

上記のRegex.Split()は、第1引数の文字列を改行ごとに分割した配列を返します。

使用例

using System;
using System.Text.RegularExpressions;
public class Example
{
    public static void Main()
    {
        string text = "Taro\nJiro\nSaburo\nSiro\nGoro";
        
        string[] names = Regex.Split(text, Environment.NewLine);
        
        Console.WriteLine(String.Join(",", names));
    }
}

/*
    出力:Taro,Jiro,Saburo,Siro,Goro
*/

まとめ

文字列を改行ごとに分割する方法は、次の2つです。

  • System.Linqを使う方法
    string[] splitArray = text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
  • Regexを使う方法
    string[] splitArray = Regex.Split(text, Environment.NewLine);

コメント

タイトルとURLをコピーしました