大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 3種字符串分割方式

3種字符串分割方式

更新時(shí)間:2020-10-30 17:28:35 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽6875次

字符串在存儲(chǔ)上類似字符數(shù)組,所以它每一位的單個(gè)元素都是可以提取的,同理,字符串也是可以分割的。當(dāng)然,字符串分割需要借助一些工具,比如一些函數(shù)和正則表達(dá)式。本我們就為大家梳理一些字符串分割的一些方式。

一、用strtok函數(shù)進(jìn)行字符串分割

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

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

參數(shù)說(shuō)明:str為要分解的字符串,delim為分隔符字符串。

返回值:從str開頭開始的一個(gè)個(gè)被分割的串。當(dāng)沒(méi)有被分割的串時(shí)則返回NULL。

其它:strtok函數(shù)線程不安全,可以使用strtok_r替代。

示例:

//借助strtok實(shí)現(xiàn)split
#include
#include
int main()
{
char s[] = "Golden Global View,disk * desk";
const char *d = " ,*";
char *p;
p = strtok(s,d);
while(p)
{
printf("%s\n",p);
p=strtok(NULL,d);
}
return 0;
}

運(yùn)行效果圖:

image.png

二、用STL進(jìn)行字符串的分割

涉及到string類的兩個(gè)函數(shù)find和substr:

1、find函數(shù)

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

功能:查找子字符串第一次出現(xiàn)的位置。

參數(shù)說(shuō)明:str為子字符串,pos為初始查找位置。

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

2、substr函數(shù)

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

功能:獲得子字符串。

參數(shù)說(shuō)明:pos為起始位置(默認(rèn)為0),n為結(jié)束位置(默認(rèn)為npos)

返回值:子字符串

實(shí)現(xiàn)如下:

//字符串分割函數(shù)
std::vectorsplit(std::string str,std::string pattern)
{
std::string::size_type pos;
std::vectorresult;
str+=pattern;//擴(kuò)展字符串以方便操作
int size=str.size();
for(int i=0; i<size; p="" i++)<="">
{
pos=str.find(pattern,i);
if(pos<size)< p="">
{
std::string s=str.substr(i,pos-i);
result.push_back(s);
i=pos+pattern.size()-1;
}
}
return result;
}
View Code

運(yùn)行效果:

image.png

三、用Boost進(jìn)行字符串的分割

用boost庫(kù)的正則表達(dá)式實(shí)現(xiàn)字符串分割

實(shí)現(xiàn)如下:

std::vectorsplit(std::string str,std::string s)
{
boost::regex reg(s.c_str());
std::vectorvec;
boost::sregex_token_iterator it(str.begin(),str.end(),reg,-1);
boost::sregex_token_iterator end;
while(it!=end)
{
vec.push_back(*it++);
}
return vec;
}
View Code

運(yùn)行效果:

image.png

總的來(lái)說(shuō),字符串分割還是要靠一些函數(shù)和其他方法,字符串本身是沒(méi)有自我分割的能力的。字符串的相關(guān)知識(shí)其實(shí)都是Java的基礎(chǔ),對(duì)于這方面有提升意向的小伙伴可以觀看本站的Java基礎(chǔ)教程,為自己的Java基礎(chǔ)查漏補(bǔ)缺!

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产精品久久综合桃花网 | 国产精品麻豆久久99 | 日本一级毛片2021免费 | 久热中文字幕在线精品免费 | 国产一区二区三区久久 | 国产目拍亚洲精品一区二区三区 | 色综合合久久天天给综看 | 欧美性大战久久久久久久蜜桃 | 国产精品久久亚洲一区二区 | 免费在线亚洲 | 日韩精品一区二区三区免费视频 | 婷婷激情视频 | 日韩一区精品视频在线看 | 久久成人永久免费播放 | 亚洲综合日韩精品欧美综合区 | 日本高清不卡二区 | 成人综合婷婷国产精品久久免费 | 麻豆狠色伊人亚洲综合网站 | 色久影院| 国产69精品久久久久999小说 | 免费香蕉依人在线视频久 | 欧美精品日日鲁夜夜 | 午夜欧美性欧美 | h片免费观看 | 国产精品久久香蕉免费播放 | 天天干天天操天天摸 | 狠狠色婷婷狠狠狠亚洲综合 | 国产91久久精品一区二区 | 久99久热只有精品国产99 | 久久免费精品高清麻豆 | 国产一区二区日韩欧美在线 | 久久网欧美 | 久久亚洲精品成人 | 亚洲精品老司机综合影院 | 思思久久99热这里只有精品66 | 99r视频里面只有精品 | 国产精品久久久久一区二区三区 | 久久综合九九亚洲一区 | 国产成人综合日韩精品婷婷九月 | 久久精品视频免费播放 | 99精品免费视频 |