STLアルゴリズムを使用して、指定された位置から段落内の単語数をカウントする方法はありますか?STLを使用した単語数
0
A
答えて
2
#include <algorithm>
#include <cctype>
#include <functional>
#include <string>
inline unsigned CountWords(const std::string& s)
{
std::string x = s;
std::replace_if(x.begin(), x.end(), std::ptr_fun <int, int> (std::isspace), ' ');
x.erase(0, x.find_first_not_of(" "));
if (x.empty()) return 0;
return std::count(x.begin(), std::unique(x.begin(), x.end()), ' ') + !std::isspace( *s.regin());
}
+0
この優れた答えの説明が必要な方には、以下が役立ちます。 std :: replace_ifはすべての空白文字をスペースで置き換えます。消去を呼び出すと、すべての空白文字が文字列の先頭から削除されます。 std :: uniqueの呼び出しは、すべての連続した重複スペースが削除された新しい文字列を返します。 std :: countの呼び出しは、std :: uniqueが返す文字列中の空白の数を返します。最後に、元の文字列がスペース内で始まるかどうかによって、0または1のいずれかが結果のカウントに加算されます。 –
0
int count_words(const char *input_buf) {
stringstream ss;
ss << input_buf;
string word;
int words = 0;
while(ss >> word) words++;
return words;
}
関連する問題
- 1. 単語を再現するためにSTLマップとセットを使用する
- 2. STL述語は引数のアドレスを使用できますか?
- 3. Javaを使用した単語の出現数
- 4. XSLTを使用したXMLの単語数
- 5. STLを使用した複数のクライアント関数の宣言
- 6. ファンクタを述語として使用するC++ STLプログラム
- 7. テキストファイルの各単語がPythonを使用して使用された回数
- 8. Pythonを使用した英語の単語の掻き取り
- 9. Trieを使用した単語リストの複合語の検索
- 10. jemallocを使用したC++ STL
- 11. OpenMPマルチスレッドを使用したStlコンテナベクトルpush_back
- 12. STLマップを使用したデバッグコード
- 13. 各単語の "like"クエリーのための単語の使用
- 14. コマンドラインパラメータを使用するPythonを使用した単純な単語スクラブルコード
- 15. LSTMネットワークを使用した混乱した単語ソルバー
- 16. Regexを使用して複数の単語を検索する
- 17. AngularJSフィルタを使用して複数の単語をハイライト表示
- 18. C++ stlアルゴリズム用の "smart"述語
- 19. NumberFormatterクラスを使用しているPHPの単語の数
- 20. 単語egrepを使用したストップワードを使用しない頻度
- 21. 単語使用状況データベース?
- 22. 単語境界の使用
- 23. 再帰を使用してミラーリングされた単語を印刷
- 24. 最も使用されるSTLアルゴリズム、述語、イテレータ
- 25. NLTK synsetを使用した単語検索でのWordNetエラー
- 26. 登録した単語をMySQLで使用する方法
- 27. Pythonでquadgamsを使用した単語予測
- 28. ビジュアルスタジオ - 単語APIを使用したアプリのデバッグが不可能
- 29. WordNet.Netを使用した単語感覚曖昧性解消
- 30. hadoop mapreduceを使用したファイル内の相互単語
(http://mattgemmell.com/2008/12/08/what-have-you-tried/)[何を試してみましたか]? –