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

C++を使用して文字列の単語を反復する最もエレガントな方法


C /C++文字列の単語を反復するエレガントな方法はありません。最も読みやすい方法は、一部の人にとっては最もエレガントであり、他の人にとっては最もパフォーマンスが高いと言えます。これを実現するために使用できる2つの方法をリストしました。最初の方法は、文字列ストリームを使用して、スペースで区切られた単語を読み取ることです。これは少し制限されていますが、適切なチェックを提供すれば、タスクはかなりうまくいきます。例:>

サンプルコード

#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;

int main() {
   string str("Hello from the dark side");
   string tmp; // A string to store the word on each iteration.
   stringstream str_strm(str);
   vector<string> words; // Create vector to hold our words

   while (str_strm >> tmp) {
      // Provide proper checks here for tmp like if empty
      // Also strip down symbols like !, ., ?, etc.
      // Finally push it.
      words.push_back(tmp);
   }
   for(int i = 0; i<words.size(); i++)
      cout << words[i] << endl;
}

出力

Hello
from
the
dark
side

  1. C ++を使用して、他の文字列に存在する1つの文字列の部分文字列の数を検索します

    この記事では、2つの文字列が与えられ、2番目の文字列で1番目の文字列のサブ文字列がいくつ見つかるかを調べる必要があります(正確なサブ文字列は複数回発生する可能性があります)。例 Input : string1 = “fogl”    string2 = “google” Output : 6 Explanation : substrings of string1 present in string2 are [ “o”, “g”, “l”, “

  2. C++を使用して文字列の部分文字列の数を見つける

    この記事では、特定の文字列に形成できるサブ文字列(空ではない)の数を見つけるためのアプローチについて学習します。 Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, ‘oo’, ‘on’, ‘moo’, ‘oon’ and &