C# 文字列を文字列で分割 Regex.Split

こんにちは。レモンティーです。

以前、↓にString.Splitで文字列を任意の文字で区切る方法を書きました。
sawalemounity.hatenablog.com

ですが、一文字ではなく複数の文字で区切れたら…
と思うことありますよね?

そこで今回使うのはRegex.Split(text,pattern)メソッドです。
このメソッドでは、第二引数にいれたパターンで
第一引数の文字列を分割してくれます。
(using System.Text.RegularExpressions;)

例えば↓のように書くと

var text = "AAhりうhAAvほghAAhrhAAAAああvhs";
var words = Regex.Split(text, "AA");

foreach(var word in words)
  {
    Console.WriteLine("「{0}」",word);
  }

↓のように出力されます
f:id:sawalemontea:20180216184348p:plain


しかも、このパターンについては
正規表現で指定できますので
かなり柔軟に分割することができます。

例えば↓のように書くと

var text = "<Haniwa>ごrhg<Dogu>ああrg<Hune>あrg<Omamori>あrg<Mochi>";
            var words = Regex.Split(text, @"<.*?>");

            foreach(var word in words)
            {
                Console.WriteLine("「{0}」",word);
            }

↓のように出力されます
f:id:sawalemontea:20180216190058p:plain


ちなみに、以下で挙げられている文字は
エスケープする必要があります。
qiita.com



今回はこれでおしまいです
sawalemounity.hatenablog.com

sawalemounity.hatenablog.com

sawalemounity.hatenablog.com