C 字串分割函式

2021-09-28 07:28:50 字數 1138 閱讀 3141

平時刷 leetcode 、劍指 offer 等可能不會用到,但在找工作做筆試題的過程中還是會經常用到的,c++標準庫裡面沒有字元分割函式split,這裡做個總結。

方法1、利用 stl 實現
#include

#include

#include

using

namespace std;

vector

split

(const string &str,

const string &pattern)

return res;}/*

這樣寫也可以

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

if(pos1 != s.length())

v.push_back(s.substr(pos1));}*/

intmain()

方法2、利用 stringstream 來分割

將字串繫結到輸入流 istringstream,然後使用getline的第三個引數,自定義使用什麼符號進行分割就可以了。

#include

#include

#include

#include

using

namespace std;

void

split

(const string &str,vector

&res,

const

char pattern)

intmain()

方法三 利用c語言中的 strtok 函式進行分割

strtok 函式包含在標頭檔案中,函式原型如下

char *strtok(char *str,const char *delim);

實現**如下

#include

#include

using

namespace std;

intmain()

return0;

}

參考文章

1、2、

c 字串分割函式

使用strtok函式分割。原型 char strtok char s,char delim strtok在s中查詢包含在delim中的字元並用null 0 來替換,直到找遍整個字串。功能 分解字串為一組字串。s為要分解的字串,delim為分隔符字串。說明 首次呼叫時,s指向要分解的字串,之後再次呼叫...

字串分割函式

這幾天處理字串,突然遇到字串分割問題,上網查了一些資料後,找到這兩個函式,strtok與strsep函式。網上舉的例子千篇一律,下面我根據函式的實現原始碼,記錄一下使用說明,供大家討論,歡迎大牛拍磚!ps 找個庫函式原始碼的 查詢 真不容易,先找到了這個 之後,發現了經常去找軟體的oschina有原...

C 的字串分割函式

c 的字串沒有分割函式,因此需要自己寫方便使用。而受到開發工具的影響,有很多用起來比較麻煩啦,下面這個比較不錯奧。用stl進行字串的分割 涉及到string類的兩個函式find和substr 1 find函式 原型 size t find const string str,size t pos 0 ...