C++ 内の文字列から複数の値を抽出する必要があります。私はこれをPythonでうまく行うことができますが、残念なことに、これはc ++で行う必要があります。
たとえば、以下の文字列が「何とか」に含まれている場合、それに対して複数の抽出正規表現を実行し、各数値を配列に渡すにはどうすればよいですか。C ++構文ではなく、正規表現で問題ありません。
std::string blah = "5001 | 5002 | 5003";
ありがとうございました
C++ 内の文字列から複数の値を抽出する必要があります。私はこれをPythonでうまく行うことができますが、残念なことに、これはc ++で行う必要があります。
たとえば、以下の文字列が「何とか」に含まれている場合、それに対して複数の抽出正規表現を実行し、各数値を配列に渡すにはどうすればよいですか。C ++構文ではなく、正規表現で問題ありません。
std::string blah = "5001 | 5002 | 5003";
ありがとうございました
C++11 以降、正規表現は C++ 標準ライブラリの一部です。または、 boost-regexを使用できます。API は名前空間を除いてほとんど同じです。次のようにできます。
auto blah = std::string{"5001 | 5002 | 5003"};
auto values = std::vector<std::string>{
std::sregex_token_iterator{blah.begin(), blah.end(), std::regex{R"(\d+)"}},
std::sregex_token_iterator{}};
int
の代わりに必要な場合はstd::string
、 を使用std::stoi
して文字列を整数に変換します。