2012-03-06 7 views
0

可能性の重複:
How to split a string in C++?スプリット文字列C++

私は

StackOverflow 
sky 
cloud 
sun 
moon 
star. 
1. StackOverflow 
2. Sky 
3. CLOUD 
4. Sun 
11. Moon 
12.Star 

としての私の文字列を分割必要

どのようにVBで、C++で行うには、それは、C++でこの

string test= 1. StackOverflow 
string spliteed = test.split(.) 

のようには考えもしないshoudする方法です。 Thxのアドバイス

+0

私はこれはかなり先に参照し、質問の重複であることに同意と思います。 –

+0

文字列の数字を抽出したいのですか?また、あなたの_vb_の例は正しく表示されません。なぜ 'test = 1.sky'文字列が' 1.Stackoverflow'という文字で始まるのですか? – gideon

答えて

0

あなたの文字列は既に分割されているだけで、数字を削除しているようです。その場合は、ブースト分割関数を使用することができます文字列を分割するための正規表現を(正規表現)を使用してください。 Boostは、C++のライブラリセットです。それをGoogleにしてください。

0

あなたは整数とドットを消費するstringstreamクラスを使用することができます。

#include <string> 
#include <iostream> 
#include <sstream> 
using namespace std; 

int main(int argc, char* argv[]) 
{ 
    string str = "1. sky"; 
    stringstream sstr(str); 
    int i; 
    char c; 
    string s; 

    sstr >> i >> c >> s; 
    cout << s << endl; 

    return 0; 
} 
+0

Thx。文字列str = "1. SKY BLUE"の場合、sは空と等しくなります。空の青になる方法 –

+0

よく、あなたは連続して読むことができます: 'sstr >> i >> c; while(sstr >> s){// sで何かを実行} '。すべての単語が抽出されると、ループは終了します。 – Donotalo

関連する問題