C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

文字列にC++のサブ文字列が含まれているかどうかを確認します


ここでは、文字列ライブラリ関数を使用してC++で文字列を照合する方法を説明します。ここでは、find()操作を使用して、サブストリングのオカレンスをメインストリングに取得しています。このfind()メソッドは、文字列が見つかった最初の場所を返します。ここでは、このfind()関数を複数回使用して、すべての一致を取得しています。

アイテムが見つかった場合、この関数は位置を返します。ただし、見つからない場合は、string::nposを返します。

したがって、サブ文字列がメイン文字列に存在するかどうかを確認するには、find()の戻り値がstring::nposであるかどうかを確認する必要があります。

ここでは、部分文字列が存在する位置を取得しているだけです。

Input: The main string “aabbabababbbaabb” and substring “abb”
Output: The locations where the substrings are found. [1, 8, 13]

アルゴリズム

String_Find(main_str、sub_str)

入力 −チェックするメイン文字列とサブ文字列

出力 −メインストリング内のサブストリングの位置

pos := 0
while index = first occurrence of sub_str into the str in range pos to end of the string, do
   print the index as there is a match
   pos := index + 1
done

サンプルコード

#include
using namespace std;
main() {
   string str1 = "aabbabababbbaabb";
   string str2 = "abb";
   int pos = 0;
   int index;
   while((index = str1.find(str2, pos)) != string::npos) {
      cout << "Match found at position: " << index << endl;
      pos = index + 1; //new position is from next element of index
   }
}

出力

Match found at position: 1
Match found at position: 8
Match found at position: 13

  1. 文字列にSwiftの別の文字列が含まれているかどうかを確認します

    文字列に別の文字列がswiftで含まれているかどうかを確認するには、2つの異なる文字列が必要です。別の文字列で構成されているかどうかを確認する必要がある1つの文字列。 チェックしたい文字列が「point」で、文字列全体が「TutorialsPoint」で、別の文字列が「onetwothree」であるとします。遊び場でこれら両方の文字列を確認しましょう。 これは、以下に示す2つの方法で実行できます。 3つの異なる文字列を作成することから始めましょう。 var CompleteStr1 = "Tutorials point" var completeStr2 = "

  2. Pythonで文字列に偶数の長さのパリンドロームサブ文字列が含まれているかどうかを確認します

    文字列sがあるとします。この文字列に一定の長さの回文が含まれているかどうかを確認する必要があります。 したがって、入力がs =afternoonのような場合、 afternoonの長さは回文noonであるため、出力はTrueになります。 これを解決するには、次の手順に従います。 0から文字列のサイズ-1までの範囲のiの場合、do string[i]がstring[i+ 1]と同じ場合、 Trueを返す Falseを返す 理解を深めるために、次の実装を見てみましょう- 例 def solve(string):    for i in range (0,