字串分割 C

2021-07-04 15:45:59 字數 2812 閱讀 3245

經常碰到字串分割的問題,這裡總結下,也方便我以後使用。

一、用strtok

函式進行字串分割

原型: char *strtok(char *str, const char *delim);

功能:分解字串為一組字串。

引數說明:str

為要分解的字串,

delim

為分隔符字串。

返回值:從s

tr開頭開始的乙個個被分割的串。當沒有被分割的串時則返回

null

。示例:

[cpp]view plain

copy

//借助strtok實現split

#include 

#include 

intmain()  

return

0;  

}  

執行效果:

二、用stl

進行字串的分割

涉及到string類的兩個函式find和substr:

1、find函式

原型:size_t find ( const string& str, size_t pos = 0 ) const;

功能:查詢子字串第一次出現的位置。

引數說明:str為子字串,pos為初始查詢位置。

返回值:找到的話返回第一次出現的位置,否則返回string::npos

2、substr函式

原型:string substr ( size_t pos = 0, size_t n = npos ) const;

功能:獲得子字串。

引數說明:pos為起始位置(預設為0),n為結束位置(預設為npos)

返回值:子字串

實現如下:

[cpp]view plain

copy

//字串分割函式

std::vectorsplit(std::string str,std::string pattern)  

}  return

result;  

}  

完整**:

[cpp]view plain

copy

/*file      : split1.cpp

author    : mike

e-mail    : [email protected]

*/#include 

#include 

#include 

//字串分割函式

std::vectorsplit(std::string str,std::string pattern)  

}  return

result;  

}  int

main()  

std::cin.get();  

std::cin.get();  

return

0;  

}  

執行效果:

三、用boost進行字串的分割

用boost庫的正規表示式實現字串分割

實現如下:

[cpp]view plain

copy

std::vectorsplit(std::string str,std::string s)  

return

vec;  

}  

完整**:

[cpp]view plain

copy

//本程式實現的是利用正規表示式對字串實現分割

//執行環境      vc6.0 + boost 庫

/*file      : split2.cpp

author    : mike

e-mail    : [email protected]

*/#include 

#include 

#include 

#include 

#include "boost/regex.hpp"

std::vectorsplit(std::string str,std::string s)  

return

vec;  

}  int

main()  

std::cin.get();  

std::cin.get();  

return

0;  

}  

執行效果:

補充:最近發現boost裡面有自帶的split的函式,如果用boost的話,還是直接用split的好,這裡就不多說了,**如下:

[cpp]view plain

copy

#include 

#include 

#include 

#include 

#include 

using

namespace

std;  

intmain()    

好,就這些了,希望對你有幫助。

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為分隔符字串。返回值 從str開頭開始的乙個個被分割的串。當沒有被分割的串時則返回null。其它 strtok函...