Linq 正規表現

C# 2文字以上の指定した文字列でSplitする方法 指定した文字列で配列に分割したい場合に見てください

今回のテーマ

今回は2文字以上で配列に分割する方法を紹介します。

1文字であれば、String方のSplitで出来るのですが、2文字以上は出来ないんですよね。

この記事では、そのようなお悩みの方に参考になると思います。

それでは、どうぞ!

KappaChan
今回はSplitについてだよ!!

String型のSplitメソッド

この記事を見て頂いている方は、String型のSplitメソッドの使い方は知っていると思うので、

参考となるソースコードを載せて、簡単に説明してしまいます。

下記のように使用します。

 出力結果
Rockman
Rollchan
Fireman
Iceman

この例では、「|」で区切られているロボット名の文字列を配列にするためにSplitを使用しています。

Splitメソッドの引数をchar型の「|」にすることで、配列の各要素に分割出来ています。

では、下記のように区切られていた場合はどうでしょう。

2文字の「||」で区切られています。文字列のSplitメソッドで指定してみましょう。

下記のように怒られてしまいました。

エラー CS1012 文字リテラルに文字が多すぎます 

開き直って、今までのように「|」を指定してみます。

 出力結果
Rockman
 
Rollchan
 
Fireman
 
Iceman
 

空白が追加されてしまいました。

この方法ではいけない理由が分かったと思うので、これから紹介するRegexクラスを使用した方法でこの問題を解決しましょう。

KappaChan
Regexクラスを使用してこの問題を解決かっぱ!

Regexクラスを使用したやり方

早速、ソースコードを下記に書きます。

 出力結果
Rockman
Rollchan
Fireman
Iceman

このソースコードのポイントは下記の3つです。

using System.Text.RegularExpressionsを指定する

RegexクラスのSplitメソッドを使用する

引数は2つ指定し、第1引数には対象の文字列。第2引数には分割対象の文字列を指定する。因みに正規表現。

この方法をマスターすれば、2文字以上を対象にしたSplitで悩むことはなくなると思います。

因みにRegexクラスは正規表現なので、下記のような文字列でも分割することが可能です。

中々ないと思いますけど、「|」の後ろに番号がついてます。

このような場合は下記のようにしてみるといいかもしれませんね。正規表現は色々な方法があるので、あくまでも例です。

 出力結果
Rockman
Rollchan
Fireman
Iceman
KappaChan
Regexクラスは文字列を扱う上でとても便利かっぱ!

まとめ

今回はSplitメソッドで分割する文字列が2つ以上の場合、どのようにすればいいか解決しました。

Regexクラスに関しては、他にも沢山触れていきたいと思っているので、どんどん記事を書いていこうと思っています。

以上、最後まで読んで頂きありがとうございました。

KappaChan
今回の記事は以上かっぱ!!最後まで読んでくれてありがとうかっぱ!

他の記事はこちら

-Linq, 正規表現

X