C 中String類的字串分割實現

2021-09-19 12:50:37 字數 1754 閱讀 5461

c++中的string的常用函式用法總結

利用strtok庫函式切割字串

#pragma warning(disable:4996)

#include#include#includeusing namespace std;

int main()

for (int i = 0; i < nums.size(); i++)

cout << nums[i] << " ";

cout << endl;

return 0;

}

輸入:23+86-6+37+24-8-13

輸出:23 86 6 37 24 8 13

自我總結

//定義好輸入輸出介面

void mysplit(const string& instr, vector& outstr,char *split)

/*此**之上為切割*/

}

#pragma warning(disable:4996)

#include#include#includeusing namespace std;

//定義好輸入輸出介面

void mysplit(const string& instr, vector& outstr,char *split)

/*此**之上為切割*/

}int main()

輸入:11,22,3,45,56,77,88,9,0

輸出:11 22 3 45 56 77 88 9 0

string str;

cin >> str;

vectoroutstr;

mysplit(str, outstr, "[,]");

for (int i = 0; i < outstr.size(); i++)

cout << outstr[i] << " ";

cout << endl;

輸入:[0,2,3,0,5,6]

輸出:0 2 3 0 5 6

**1.簡潔高效的方法(不過只能包含乙個分隔符):

#include #include #include using namespace std;

void splitstring(const string& s, vector& v, const string& c)

if (pos1 != s.length())

v.push_back(s.substr(pos1));

}int main()

2.可包含多個分隔符的實現方式

#include #include #include using namespace std;

vectorsplit(const string &s, const string &seperator)

}//找到又乙個分隔符,將兩個分隔符之間的字串取出;

flag = 0;

string_size j = i;

while(j != s.size() && flag == 0)

if(flag == 0)

++j;

}if(i != j)

}return result;}

int main()

string 字串分割

關於string的各種函式的介紹就不多說了,網上到處都有,當然我不是說我寫的這個網上沒有,但是絕對原創,以下結合 說明吧 strtoken.h created on author wdmcel ifndef strtoken h define strtoken h include include i...

C 中的字串類(string類)

1.字串搜尋 string s abc科學 int i s.indexof 科 注意 1 索引從0開始,如果沒有找到則返回值為 1 2 c 中,ascii和漢字都是用2位元組表示 2.字串比較 string s1 abc string s2 abc int n string.compare s1,s...

詳解C 的String類的字串分割實現

詳解c 的string類的字串分割實現 功能需求,輸入乙個字串 1 2 3 切割出 1 2 3 在j a下直接用string的split函式就可以了。c 下string沒有直接提供這個函式,需要自己寫。網上給出的解決方案是這裡的三種方法。但我是通過jni訪問的,在裡面用這些vector可能不中,自己...