どうも、ちょげ(@chogetarou)です。
正規表現を使って文字列(string)を空白で分割した配列に変換する方法を紹介します。
方法

正規表現を使って文字列(string)を空白で分割した配列に変換するには、Regex.Split()を使います。
まず、Regexを導入します。
using System.Text.RegularExpressions;
次に、Regex.Split()を呼び出します。
そして、Regex.Split()の第1引数に文字列、第2引数に空白の正規表現のパターンを指定します。
//text=対象の文字列
string[] result = Regex.Split(text, @"\s+");
上記のRegex.Split()は、文字列を空白で分割した配列に変換します。
文字列の左右に空白がある場合、Regex.Split()は、分割後に左右の空白を残します。
もし、分割後に左右の空白を残したくない場合は、System.Linqを導入し、Where()を呼び出します。
using System.Linq;
//文字列の左右の空白を残したくない場合
string[] result = Regex.Split(text, @"\s+").Where(s => s != string.Empty).ToArray();
使用例
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string text = "abc de fg hi j k";
string[] result = Regex.Split(text, @"\s+");
foreach(string item in result)
{
Console.WriteLine(item);
}
}
}
使用例2
using System;
using System.Text.RegularExpressions;
using System.Linq;
public class Example
{
public static void Main()
{
string text = " abc de fg hi j k";
string[] result = Regex.Split(text, @"\s+").Where(s => s != string.Empty).ToArray();
foreach(string item in result)
{
Console.WriteLine(item);
}
}
}
出力:
abc
de
fg
hi
j
k
コメント