C#のLinqのメソッド一覧 C#のメソッド、プロパティ一覧 正規表現

【C# sharp】2文字以上の文字列でSplit(分割)する方法

ChatGPTのAPIを使わずに自動化することが可能です。
下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。

今回のテーマ

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

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

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

それでは、どうぞ!

今回はSplitについてだよ!!
サルモリ

正規表現の基本はコチラ

【C#】csharpで正規表現(Regexクラス)について学ぼう!!パターンマッチングを一気に学ぶ!

ChatGPTのAPIを使わずに自動化することが可能です。 下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。 正規表現マス ...

続きを見る

String型のSplitメソッド

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

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

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

 出力結果
Rockman
Rollchan
Fireman
Iceman

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

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

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

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

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

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

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

 出力結果
Rockman
 
Rollchan
 
Fireman
 
Iceman
 

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

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

サルモリ
Regexクラスを使用してこの問題を解決だね!

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

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

 出力結果
Rockman
Rollchan
Fireman
Iceman

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

using System.Text.RegularExpressionsを指定する

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

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

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

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

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

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

 出力結果
Rockman
Rollchan
Fireman
Iceman
サルモリ
Regexクラスは文字列を扱う上でとても便利だね!

まとめ

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

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

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

サルモリ
今回の記事は以上だよ!!最後まで読んでくれてありがとう!

他の記事はこちら

-C#のLinqのメソッド一覧, C#のメソッド、プロパティ一覧, 正規表現

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock