C#で文字列を別の文字列で分割する

文字列を分割するのにSplit()メソッドを使っていましたが、これは文字で分割する場合にしか使えないようです。文字列`を分割する際に、別の文字列をパラメータとして分割する方法はありますか?

スプリッタを文字配列に変換してみましたが、うまくいきませんでした。

つまり、文字列を分割したいのです。

THExxQUICKxxBROWNxxFOX

xx で分割して、値を含む配列を返したいのです。

The, QUICK, BROWN, FOX

ソリューション

文字列で分割するためには、string array overloadを使用する必要があります。

string data = "THExxQUICKxxBROWNxxFOX";

return data.Split(new string[] { "xx" }, StringSplitOptions.None);
解説 (14)

文字列を受け取るSplitのオーバーロードがあります。

"THExxQUICKxxBROWNxxFOX".Split(new [] { "xx" }, StringSplitOptions.None);

これらの StringSplitOptions のいずれかを使うことができます。

  • None - 戻り値は、空の文字列を含む配列 空の文字列を含む配列要素が含まれます。
  • RemoveEmptyEntries - 返り値に空の文字列を含む配列要素が含まれない 空の文字列を含む配列要素は含まない。 空の文字列を含む配列要素を含みません。

つまり、文字列が "THExxQUICKxxxxBROWNxxFOX" の場合、StringSplitOptions.None は、配列の "xxxx" の部分に空のエントリを返しますが、StringSplitOptions.RemoveEmptyEntries は返しません。

解説 (0)
Regex.Split(string, "xx")

は、私が普段やっている方法です。もちろん、あなたには&#12391

using System.Text.RegularExpressions;

が必要ですが、私はいつもそのライブラリを必要としています。

解説 (3)