どうも、ちょげ(@chogetarou)です。
文字列を改行ごとに分割する方法を紹介します。
方法

文字列を改行ごとに分割する方法は、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);
コメント