C# で長い文字列を効率的に分割する
プログラマは、処理が必要な非常に長い文字列に頻繁に遭遇します。 多くの場合、最も効率的なアプローチは、これらの文字列をより小さく、より管理しやすいチャンクに分割することです。これにより、分析、表示、さらなる処理などのタスクが簡素化されます。
たとえば、文字列「1111222233334444」を考えてみましょう。これをサイズ 4 のチャンクに分割したい場合、結果は次のようになります:
これは、次の簡潔な C# コードで簡単に実現できます。
<code class="language-csharp">static IEnumerable<string> SplitStringIntoChunks(string str, int chunkSize) { return Enumerable.Range(0, str.Length / chunkSize) .Select(i => str.Substring(i * chunkSize, chunkSize)); }</code>
このコードは次のように動作します:
インデックスの生成: Enumerable.Range(0, str.Length / chunkSize)
は、各チャンクの開始インデックスを表す一連の数値を作成します。
チャンクの抽出: Select(i => str.Substring(i * chunkSize, chunkSize))
は、各インデックスを使用して長さ chunkSize
の部分文字列を抽出します。
注: エラー処理 (null または空の文字列、ゼロのチャンク サイズ、またはチャンク サイズで割り切れない文字列長の場合) は簡潔にするために省略されていますが、運用環境では考慮する必要があります。 この例は、コアの文字列分割機能に焦点を当てています。
以上が文字列をC#の指定されたサイズのチャンクに効率的に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。