最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++如何切割String對象的方法

 更新時(shí)間:2022年05月12日 11:30:59   作者:瀛臺夜雪  
C++相較于Java,Python 并沒有提供的字符串分割的函數(shù)split,因此需要自己進(jìn)行編寫,本文主要介紹了C++如何切割String對象的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

C++相較于Java,Python 并沒有提供的字符串分割的函數(shù)split,因此需要自己進(jìn)行編寫。在實(shí)際的工作中這一功能會被經(jīng)常使用,所以進(jìn)行簡單的記錄一下。

核心函數(shù)

代碼實(shí)現(xiàn)的函數(shù)是調(diào)用String庫中的find函數(shù)和substr函數(shù)。

find函數(shù)

size_type find(const basic_string &str,size_type pos=0)

find函數(shù)完成最簡單的搜索,它查找參數(shù)指定的字符串(str),若找到返回一個(gè)String::size_type的值,用來表示匹配發(fā)生位置的下標(biāo)。若未找到,則返回一個(gè)名為string::npos的static成員。C++標(biāo)準(zhǔn)庫將npos定義為一個(gè)const string ::size_type類型,并初始化值為-1。由于npos是一個(gè)unsigned類型,此初值意味著npos等于任何string最大的可能大小。

參數(shù)str,pos表示從pos位置中開始查找str

除了find 操作,string還支持以下的操作

  • str.find(args) 查找str中args第一次出現(xiàn)的位置
  • str.rfind(args) 查找str中args最后一次出現(xiàn)的位置
  • str.find_first_of(args) 查找str中args中第一個(gè)字符第一次出現(xiàn)的位置
  • str.find_last_of(args) 查找str中args中第一個(gè)字符最后一次出現(xiàn)的位置
  • str.find_first_not_of(args) 查找str中args中第一個(gè)不在atgs中的字符
  • str.find_last_not_of(args) 查找str中args中最后一個(gè)不在atgs中的字符

substr函數(shù)

string substr(size_type pos=0,size_type count=npos)

substr主要功能是復(fù)制字符串,要求從指定的位置pos開始,并具有指定的長度count。若未指定長度或者pos+count>源字符串的長度,則子字符串將延續(xù)到源字符串的結(jié)尾

數(shù)值轉(zhuǎn)換

由于本次樣例中需要將string類型轉(zhuǎn)換為int類型,我們簡單介紹以下常見的string的數(shù)值轉(zhuǎn)換

int轉(zhuǎn)換成string

int i=42;
string s=to_string(i);

string 轉(zhuǎn)換成int

string str='42';
stoi(str);

輸入樣例

nums = [3,2,4], target = 6

輸出樣式

3 2 4 
6

代碼實(shí)現(xiàn)

#include<iostream>
#include<vector>
#include<string>
using namespace std;

void spiltStr(string str,const string & split,vector<string>&strlist)
{
? ? strlist.clear();
? ? if(str=="")
? ? ? ? return;
? ? string strs=str+split;
? ? size_t pos=strs.find(split);
? ? int steps=split.size();

? ? while(pos!=strs.npos)
? ? {
? ? ? ? //substr 復(fù)制字符串,起始位置,復(fù)制字符數(shù)目
? ? ? ? string temp=strs.substr(0,pos);
? ? ? ? strlist.push_back(temp);
? ? ? ? strs=strs.substr(pos+steps,strs.size());
? ? ? ? pos=strs.find(split);
? ? }

}

int main()
{
? ? vector<int>num;
? ? vector<string>strlist;
? ? string inputStr;
? ? string tempStr;
? ? int target;

? ? getline(cin,inputStr);
? ? if(inputStr=="")
? ? {
? ? ? ? return 0;
? ? }

? ? //分割輸入的字符串
? ? spiltStr(inputStr,"[",strlist);
? ? spiltStr(strlist[1],"]",strlist);
? ? spiltStr(strlist[0],",",strlist);

? ? //將vector<string>spiltStr的數(shù)值寫入vector<int>nums中
? ? for(auto i:strlist)
? ? {
? ? ? ? num.push_back(stoi(i));
? ? }

? ? spiltStr(inputStr,"=",strlist);

? ? // spiltStr(strlist.back(),"=",strlist);
? ? target=stoi(strlist.back());


? ? for(auto i:num)
? ? {
? ? ? ? cout<<i<<" ";
? ? }
? ? cout<<endl;
? ? cout<<target<<endl;
? ??

}

例程演示

到此這篇關(guān)于C++如何切割String對象的方法的文章就介紹到這了,更多相關(guān)C++ 切割String對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++中如何將operator==定義為類的成員函數(shù)

    C++中如何將operator==定義為類的成員函數(shù)

    這篇文章主要介紹了C++中如何將operator==定義為類的成員函數(shù),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • C++冒泡排序算法實(shí)例

    C++冒泡排序算法實(shí)例

    這篇文章主要介紹了C++冒泡排序算法實(shí)例,本文先是介紹了什么是冒泡排序,然后給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-10-10
  • C語言讀取和存儲bmp格式圖片

    C語言讀取和存儲bmp格式圖片

    這篇文章主要為大家詳細(xì)介紹了C語言讀取和存儲bmp格式圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C語言學(xué)習(xí)進(jìn)階篇之萬字詳解指針與qsort函數(shù)

    C語言學(xué)習(xí)進(jìn)階篇之萬字詳解指針與qsort函數(shù)

    之前的指針詳解中,提到過qsort函數(shù),這個(gè)函數(shù)是用來排序的,下面這篇文章主要給大家介紹了關(guān)于C語言指針與qsort函數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • 使用Qt的QChartView實(shí)現(xiàn)縮放和放大功能

    使用Qt的QChartView實(shí)現(xiàn)縮放和放大功能

    QCustomPlot是一個(gè)小型的Qt畫圖標(biāo)類,支持繪制靜態(tài)曲線、動態(tài)曲線、多重坐標(biāo)曲線,柱狀圖,蠟燭圖,這篇文章主要介紹了Qt的QChartView實(shí)現(xiàn)縮放和放大功能,需要的朋友可以參考下
    2022-09-09
  • C++中重載、重寫(覆蓋)和隱藏的區(qū)別實(shí)例分析

    C++中重載、重寫(覆蓋)和隱藏的區(qū)別實(shí)例分析

    這篇文章主要介紹了C++中重載、重寫(覆蓋)和隱藏的區(qū)別,是C++面向?qū)ο蟪绦蛟O(shè)計(jì)非常重要的概念,需要的朋友可以參考下
    2014-08-08
  • C++深入講解namespace與string關(guān)鍵字的使用

    C++深入講解namespace與string關(guān)鍵字的使用

    namespace命名空間或者叫名字空間,傳統(tǒng)的c++只有一個(gè)全局的namespace,namespace引入了復(fù)雜性。namespace允許像類,對象,函數(shù)聚集在一個(gè)名字下。本質(zhì)上講namespace是對全局作用域的細(xì)分
    2022-05-05
  • C++中cout輸出中文信息亂碼問題及解決

    C++中cout輸出中文信息亂碼問題及解決

    這篇文章主要介紹了C++中cout輸出中文信息亂碼問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Qt連接MySQL數(shù)據(jù)庫的實(shí)現(xiàn)(保姆級成功版教程)

    Qt連接MySQL數(shù)據(jù)庫的實(shí)現(xiàn)(保姆級成功版教程)

    本文主要介紹了Qt連接MySQL數(shù)據(jù)庫的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • C語言鏈表實(shí)現(xiàn)歌手評分系統(tǒng)

    C語言鏈表實(shí)現(xiàn)歌手評分系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言鏈表實(shí)現(xiàn)歌手評分系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03

最新評論

彝良县| 罗甸县| 邯郸市| 万山特区| 乐东| 同心县| 宕昌县| 宕昌县| 惠州市| 茶陵县| 榕江县| 东港市| 周宁县| 河北区| 磴口县| 苍梧县| 永吉县| 甘孜县| 天气| 萝北县| 山丹县| 长海县| 溧水县| 桐乡市| 巨野县| 邓州市| 吉安市| 保山市| 自治县| 盐源县| 沾化县| 建湖县| 阿巴嘎旗| 扎鲁特旗| 长治县| 酒泉市| 金阳县| 新闻| 北碚区| 奎屯市| 临清市|