C++ 字串擷取

我現在二個字串是:

char a= "DIP:66EDIP:250NP41958A53189630491DIP:1016NP30429S725662146864";

char b="DIP:87EDIP:926N noQ19019S577221362576DIP:1014NnoP24348S70712"

我要把上面字串裡的:"250N"、"1016N"、"926N"、"1014N"取出來顯示在螢幕上,請問我要如何做?

請教一下要如何做,寫一下註解,感謝。

1 Answer

Rating
  • 1 decade ago
    Favorite Answer

    char a??? 貼錯???

    根據你提供的字串,要找出你所要的關鍵字的特徵就是找出':'這個字元的位置,然後擷取':'的後一個字元到'N'字元之間字串,但要注意的是要找的關鍵字位置是在第2和第3個':'字元之後。

    #include <iostream>

    #include <string>

    using namespace std;

    void FindKeyword(string& strFind)

    {

    string::size_type nPosColon, nPosN;

    nPosColon = strFind.find(':', 0);

    for (int i = 0; i < 2; i++) {

    nPosColon = strFind.find(':', nPosColon+1);

    nPosN = strFind.find('N', nPosColon+1);

    cout << strFind.substr(nPosColon+1, nPosN - nPosColon) << " ";

    }

    cout << endl;

    }

    int main()

    {

    string a = "DIP:66EDIP:250NP41958A53189630491DIP:1016NP30429S725662146864";

    string b = "DIP:87EDIP:926N noQ19019S577221362576DIP:1014NnoP24348S70712";

    FindKeyword(a);

    FindKeyword(b);

    system("pause");

    return 0;

    }

Still have questions? Get your answers by asking now.