ホームページ > バックエンド開発 > C++ > コンマで区切られた整数の文字列を配列に効率的に解析するにはどうすればよいですか?

コンマで区切られた整数の文字列を配列に効率的に解析するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-22 07:12:10
オリジナル
329 人が閲覧しました

How to Efficiently Parse a Comma-Separated String of Integers into an Array?

整数のコンマ区切り文字列の解析

この質問のタスクには、コンマ区切りの整数を含む文字列を整数配列に解析することが含まれます。これを実現するには、次のような単純なアプローチをお勧めします。

入力処理:

  1. 入力文字列から文字列ストリームを作成します。
  2. 反復文字列ストリームを 1 文字ずつ読み取ります。
  3. カンマが見つかるまで各数値を読み取ります。 (',').

カンマ処理:

  1. 数値を抽出した後、文字列ストリーム内の次の文字を確認します。
  2. カンマの場合は、それを破棄して次の番号に進みます。
  3. そうでない場合は、反復は次の数値の抽出を続けます。

配列への入力:

  1. 抽出された各数値を整数ベクトル (必要に応じて動的なサイズ変更を可能にします)。

例実装:

以下は、このアプローチを示す C コードの例です。

#include <vector>
#include <string>
#include <sstream>
#include <iostream>

int main()
{
    std::string str = "1,2,3,4,5,6";
    std::vector<int> vect;

    std::stringstream ss(str);

    for (int i; ss >> i;) {
        vect.push_back(i);    
        if (ss.peek() == ',')
            ss.ignore();
    }

    for (std::size_t i = 0; i < vect.size(); i++)
        std::cout << vect[i] << std::endl;
}
ログイン後にコピー

利点:

  • このアプローチ理解と実装が簡単です。
  • 大規模な解析には効率的です。多数のカンマ区切りの数字を含む文字列。
  • 必要に応じて、特殊文字やその他のシナリオを追加処理するためにカスタマイズできます。

以上がコンマで区切られた整数の文字列を配列に効率的に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート