stringクラスのSplitメソッドを使って、指定した区切り文字を使って文字列を分割します。
// 分割される文字列 string text = "こんにちは、酢酸です。あなたは元気ですか?"; // 区切り文字を指定して分割する var array = text.Split(new[] { '、', '。' }); foreach (var st in array) { Debug.WriteLine(st); } // 出力 こんにちは 酢酸です あなたは元気ですか?
分割の文字列から空白文字を取り除きたい
Splitメソッドの引数に区切り文字として?
を追加するとどうなるでしょうか?「あなたは元気ですか?」という文字列は「あなたは元気ですか」と「(空白文字)」に分割されます。
戻り値の配列に空白文字の要素を含めたくない場合には第2引数にStringSplitOptions.RemoveEmptyEntries
を指定します。
// 分割される文字列 string text = "こんにちは、酢酸です。あなたは元気ですか?"; // 区切り文字を指定して分割する(空白文字の場合は戻り値の配列に含めない) var array = text.Split(new[] { '、', '。', '?' } , StringSplitOptions.RemoveEmptyEntries); foreach (var st in array) { Debug.WriteLine(st); } // 出力 こんにちは 酢酸です あなたは元気ですか