[解決済み] PHPのexplode()関数に相当するものはC++にあるのでしょうか?[重複]。
2022-02-17 15:23:47
質問
重複の可能性があります。
C++で文字列を分割する
PHPでは
explode()
関数は文字列を受け取り、指定されたデリミターで各要素を区切った配列に切り分けます。
C++で同等の関数はありますか?
どのように解決するのですか?
簡単な実装例を紹介します。
#include <string>
#include <vector>
#include <sstream>
#include <utility>
std::vector<std::string> explode(std::string const & s, char delim)
{
std::vector<std::string> result;
std::istringstream iss(s);
for (std::string token; std::getline(iss, token, delim); )
{
result.push_back(std::move(token));
}
return result;
}
使用方法
auto v = explode("hello world foo bar", ' ');
注 Jerry の出力イテレータに書き込むというアイデアは、C++ ではよりイディオム的です。実際、出力イテレータのテンプレートと、ベクターを生成するラッパーの両方を提供することで、最大限の柔軟性を確保することができます。
注2: 空のトークンをスキップしたい場合は、次のように
if (!token.empty())
.
関連
-
[解決済み】PHPのクラスが見つからないが、インクルードされている
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] 整数の配列を正しくソートする方法
-
[解決済み] PHP 配列をキーではなく値で削除する
-
[解決済み] UTF-8 byte[]を文字列に変換する方法
-
[解決済み] 配列から最初のN個の要素を取得する方法
-
[解決済み] mysql_real_escape_string() を回避する SQL インジェクション
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み】カンマで区切られた文字列を配列に分割する?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] コマンドの同期がとれていない。
-
[解決済み】メンバ関数をnullで呼び出す?
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: バインドされた変数の数が102行目のトークンの数と一致しない [終了]
-
[解決済み】Xampp ローカルホスト/ダッシュボード
-
[解決済み】foreach()に与えられた引数が無効です。)
-
[解決済み】PHPの予期しないT_VARIABLEとは何ですか?
-
[解決済み】In_arrayが動作しない。
-
[解決済み] mysql_field_nameを新しいmysqliに変更します。
-
[解決済み] libapache2-mod-php7 パッケージの場所がわからない
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?