程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 學習筆記----字符串分割

學習筆記----字符串分割

編輯:關於C語言

 1, 字符串的分割算法(標准庫版)
void split(const string& s,char c,vector<string>& v)

{

string::size_type i = 0;

string::size_type j = s.find(c);

while (j != string::npos)

{

v.push_back(s.substr(i,j-i));

i = ++j;

j = s.find(c,j);

if (j == string::npos)

v.push_back(s.substr(i,s.length()) );

}

}

template <typename T>

void split(basic_string<T>& s,T c,vector<basic_string<T> >& v)

{

typename basic_string<T>::size_type i = 0;

typename basic_string<T>::size_type j = s.find(c);

while (j != basic_string<T>::npos)

{

v.push_back(s.substr(i,j-i));

i = ++j;

j = s.find(c,j);

if (j == basic_string<T>::npos)

{

v.push_back(s.substr(i,s.length()) );

}

}

}

2,字符串的分割算法(boost庫實現)

int main()

{

string _str = "I|am|a|bad|boy";

list<string> myList;

split(myList,_str,is_any_of("|"));   // 這裡用到了boost組庫的方法:split.

list<string>::iterator p;

for (p = myList.begin(); p != myList.end(); ++p)

{

cout << *p << " ";

}

cout << endl;

/***********************************************/

return 0;

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved