この記事は2022年07月15日に投稿しました。
目次
1. はじめに
こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
今回は業務で使用しているC#の文字列の分割でStringSplitOptionsを指定する方法についてです。
2. C#の文字列の分割でStringSplitOptionsを指定する
C#の文字列の分割で指定するStringSplitOptionsは以下を指定できます。
定数名 | 値 | 内容 |
---|---|---|
None | 0 | 文字列を分割する場合は、既定のオプションを使用します。 |
RemoveEmptyEntries | 1 | 結果からの空の文字列を含む配列要素を省略します。 |
TrimEntries | 2 | 結果内の各部分文字列の空白文字をトリミングします。 このフィールドは、.NET 5 以降のバージョンでのみ使用できます。 |
実装例
※.NET Frameworkのサンプルです。
using System; namespace SampleStringSplitOptions { internal class Program { private static void Main(string[] args) { var value = "Apple,,Banana, ,Orange"; var separator = new string[] { "," }; Console.WriteLine("StringSplitOptions.None"); var items = value.Split(separator, StringSplitOptions.None); foreach (var item in items) { Console.WriteLine($"[{item}]"); } Console.WriteLine("StringSplitOptions.RemoveEmptyEntries"); items = value.Split(separator, StringSplitOptions.RemoveEmptyEntries); foreach (var item in items) { Console.WriteLine($"[{item}]"); } Console.ReadKey(); } } }
実行結果
StringSplitOptions.None [Apple] [] [Banana] [ ] [Orange] StringSplitOptions.RemoveEmptyEntries [Apple] [Banana] [ ] [Orange]
API Reference
Splitメソッド
3. おわりに
文字列を分割するSplitメソッドの引数StringSplitOptionsは何も考えず、いつもNoneを指定していました。
改めて調べてみるとRemoveEmptyEntriesを指定すれば空の要素は削除されることがわかりました。
文字列を分割した後、空の要素を無視する処理を実装したりしていたので、もっと早く調べておけばよかったです。
紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。
私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッドOS [Bi-OS][Bi-OS]は高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOSモバイルアプリやウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。
また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。
EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688