この投稿では、C++で文字列をトークン化する方法について説明します。

1.文字列ストリームの使用

C++で文字列をトークン化する一般的な解決策は、 std::istringstream、これは文字列を操作するためのストリームクラスです。次のコードは、抽出演算子を使用してストリームからトークンを抽出し、それらをコンテナーに挿入します。

ダウンロード  コードを実行する

出力:

Tokenize
a
string
in
C++

 
これは、を使用して入力文字列からトークンを抽出する別のアプローチです。 std::istream_iterator。 The std::istream_iterator で無効にされていない限り、デフォルトで空白をスキップします std::noskipws.

ダウンロード  コードを実行する

出力:

Tokenize
a
string
in
C++

 
イニシャライザリストを使用すると、コードをさらに次のように短縮できます。

ダウンロード  コードを実行する

出力:

Tokenize
a
string
in
C++

2.正規表現を使用する

文字列をトークン化するもう1つのもっともらしい解決策は、正規表現を使用することです。これは、シーケンスに対してパターンマッチングを実行するための標準です。

ダウンロード  コードを実行する

出力:

Tokenize
a
string
in
C++

3.Boostライブラリの使用

Boost C++ライブラリは、このタスクのためのいくつかのユーティリティクラスも提供します。 The Boost tokenizer classは、特定の文字を区切り文字として解釈することにより、シーケンスに含まれるトークンのビューを提供します。

コードをダウンロード

出力:

Tokenize
a
string
in
C++

これで、C++で文字列をトークン化することができます。