C++の文字列からすべての整数を抽出します
ここでは、C++で文字列からすべての整数を抽出する方法を説明します。数字と数字がない文字列を入れることができます。そこからすべての数値を抽出します。
この問題を解決するために、C++でstringstreamクラスを使用します。文字列を単語ごとに切り取り、整数型のデータに変換してみます。変換が完了すると、整数になり、値が出力されます。
Input: A string with some numbers “Hello 112 World 35 75” Output: 112 35 75
アルゴリズム
Step 1:Take a number string Step 2: Divide it into different words Step 3: If a word can be converted into integer type data, then it is printed Step 4: End
サンプルコード
#include<iostream> #include<sstream> using namespace std; void getNumberFromString(string s) { stringstream str_strm; str_strm << s; //convert the string s into stringstream string temp_str; int temp_int; while(!str_strm.eof()) { str_strm >> temp_str; //take words into temp_str one by one if(stringstream(temp_str) >> temp_int) { //try to convert string to int cout << temp_int << " "; } temp_str = ""; //clear temp string } } main() { string my_str = "Hello 112 World 35 75"; getNumberFromString(my_str); }
出力
112 35 75
-
C++を使用して文字列から特定の単語を削除する
この記事では、特定の文字列から特定の単語を削除する問題を解決します。例- Input : str = “remove a given word ”, word = “ remove ” Output : “ a given word ” Input : str = “ god is everywhere ”, word = “ is ” Output : “ god everywhere ” 解決策を見つけるためのアプローチ たとえば、単純なアプロ
-
C++で文字列から二分木を構築する
括弧と整数で構成される文字列があるとします。その文字列から二分木を構築する必要があります。入力全体が二分木を表します。これは、0、1、または2組の括弧が後に続く整数を保持します。整数はルートの値を表し、括弧のペアには同じ構造の子二分木が含まれます。 したがって、入力が「4(2(3)(1))(6(5))」の場合、出力は[3,2,1,4,5,6](順序付き走査)になります これを解決するには、次の手順に従います- 関数solve()を定義します。これには、s、idx、が必要です。 =sのサイズの場合、- nullを返す num:=空の文字列 while(