ホームページ >バックエンド開発 >C++ >C++ を使用して、指定された文字列内の部分文字列として出現する、指定された配列内のすべての文字列を出力します。

C++ を使用して、指定された文字列内の部分文字列として出現する、指定された配列内のすべての文字列を出力します。

王林
王林転載
2023-08-29 13:01:03820ブラウズ

C++ を使用して、指定された文字列内の部分文字列として出現する、指定された配列内のすべての文字列を出力します。

プログラミングの世界では、大きなテキストの中で特定のパターンを本当に探したいというシナリオがたくさんあります。一般的なタスクは、指定された配列内の、指定された文字列内の部分文字列として出現するすべての文字列を検索して出力することです。この一見基本的な問題は、さまざまな方法を使用して解決できます。この記事では、そのうちの 2 つについて説明します。各メソッドに使用される構文とアルゴリズムを明確に説明し、2 つの完全な実行可能コード例を提供します。

###文法###

メソッドを紹介する前に、まずこの問題を解決するために使用する構文を理解しましょう -

リーリー ###アルゴリズム###

配列から指定された文字列内の部分文字列として出現するすべての文字列を検索して出力するという問題を解決するには、次の段階的なアルゴリズムに従うことができます -

空のベクトルを初期化して、一致する文字列を格納します。

  • 配列内の各文字列を繰り返します。

  • 現在の文字列が指定されたテキストの部分文字列であるかどうかを確認します。

  • 前提条件は、一致する文字列のベクトルに文字列を追加することです。

  • すべての文字列を反復処理した後、一致する文字列のベクトルを出力します。

  • 方法 1: string.find() 関数を使用する

  • この手法では、文字列内の部分文字列の位置を返す string.find() 関数を使用します。部分文字列が見つからない場合は、string::npos という特別な値を返します。
###例### リーリー ###出力### リーリー

方法 2: 正規表現を使用する

正規表現は、文字列のパターン マッチングのための強力なツールを提供します。問題を解決するためにそれらを使用することもできます。

###例### リーリー ###出力### リーリー

適切な方法を選択してください

2 つの方法のどちらを選択するかは、特定の問題の要件によって異なります −

次の場合は string.find() メソッドを使用します。

一致する必要があるパターンは比較的単純です。

string.find() メソッドは、単純なパターンの場合は正規表現よりも高速である可能性があるため、パフォーマンスが問題になります。

正規表現構文を必要としない、より単純な実装を希望する場合。

正規表現メソッドを使用する if

マッチング対象のパターンは複雑であり、高度なパターン マッチング機能が必要です。

柔軟性と強力なパターン マッチングが重要です。

パフォーマンスは重要な要素ではありません。そうでない場合は、パターンの複雑さによって正規表現の使用が正当化されます。

###結論は###

この記事では、指定された文字列内の部分文字列の出現を見つけて出力するという問題に対処する 2 つのユニークな方法を検討します。 main メソッドは string.find() 関数を使用します。これはシンプルで直接的な解決策です。その後の方法では、正規表現の力を利用して、より複雑なパターン マッチングの状況を処理しました。特定の問題のニーズに応じて、最も適切な方法を選択できます。パターン マッチングはプログラミングにおける基本的なタスクであり、さまざまな方法や戦略を深く理解することで、問題解決能力を大幅に向上させることができることを忘れないでください。したがって、次回同様の問題に遭遇したときに、効果的に対処するための十分な知識が得られます。

以上がC++ を使用して、指定された文字列内の部分文字列として出現する、指定された配列内のすべての文字列を出力します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。