c++ string沒有現成的split函式,可能考慮到split之後是個string的陣列,這個陣列如果讓stl的容器儲存的話,就會和容器耦合在一起,而且一般split還會支援正規表示式,那麼就又會發生耦合了,作為一貫的簡潔風格,就沒有新增(瞎猜的,哈哈)。據說boost庫中有,但是得要安裝boost,還是自己動手完成比較快捷,這裡在網上蒐集了一些,發現很多都比較冗長,這裡找到一些前輩們不錯的**段
使用了sstream中的istringstream,以及std::getline函式進行分割
#include#include#includevector&split(const string &str, char delim, vector&elems, bool skip_empty = true)
每次找到間隔字串delimiters的位置pos,從字串起始位置i開始,取長度為 pos - i 長度的子串即為要分割的串
vectorsplit(const string& str,const string& delim, vector& elems)
string strs = str + delim; //*****擴充套件字串以方便檢索最後乙個分隔出的字串
size_t size = strs.size();
int pos; // 發現delim的下標
int i = 0; // 待加入elem容器字串的起始位置
while(i < size)
}return elems;
}
原**
[1] 字串分割技術
[2] c++ 如何使用stringstream來分隔逗號分隔的字串
[3] c++之split字串分割
C 字串分割
c 中的字元分割是乙個常見的應用,下面是乙個字串分割的 字串分割 vectorsplit string const string str,const string delimiters else pos delim split str.find delimiters res.push back sp...
字串分割 C
經常碰到字串分割的問題,這裡總結下,也方便我以後使用。一 用strtok 函式進行字串分割 原型 char strtok char str,const char delim 功能 分解字串為一組字串。引數說明 str為要分解的字串,delim為分隔符字串。返回值 從str開頭開始的乙個個被分割的串。...
字串分割 C
經常碰到字串分割的問題,這裡總結下,也方便我以後使用。一 用strtok 函式進行字串分割 原型 char strtok char str,const char delim 功能 分解字串為一組字串。引數說明 str 為要分解的字串,delim 為分隔符字串。返回值 從s tr開頭開始的乙個個被分割...