C++ 字串分割

來源:互聯網
上載者:User

標籤:int   大數   while   字串   log   pre   自己   split函數   一個   

2017-06-26 21:47:06

這幾天在做大資料的處理,需要處理幾百萬的資料。由於一直用的是c++,所以就直接用c++進行了編碼。

不過後來經過學長的提醒發現其實字串處理,尤其是處理csv檔案(由逗號作為分割符)時,需要將各個部分分割開來,如果用Java或者Python進行處理的話會非常方便,比如Java就有split函數進行字串的分割,不過我在查詢資料之後發現c++中並沒有現成的針對string的字串分割函數。於是我自己寫了一個split函數。

這個函數的聲明是

void split(const string& source, const char d, vector<string>& rst)

source:源字串

d:分隔字元

rst:返回的分割後的數組

void split(const string& source, const char d, vector<string>& rst){
  if(!source.length()) return; for(int i=0;i<source.length();) { string temp=""; while(true) { if(i>=source.length()) break; if(source[i]==d) break; else temp+=source[i++]; } rst.push_back(temp); ++i; } if(source[source.length()-1]==‘,‘) rst.push_back("");}

這個函數的作用是將每個分割符前面的字串先存入一個temp中,都裝後,再放進數組中。如果最後還有一個逗號,意味著應該還有一個Null 字元串,所以最後判斷加入即可。

C++ 字串分割

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.