字串的拼接分割

2021-08-08 22:00:13 字數 2839 閱讀 8157

string s1 ="s1";

string s2 ="s2";

string s3 = s1+s2;

string s4 = "wahaha"

cout

《分割字串

c++中string類並沒有提供split函式分割.

參考他人c++ split()函式的實現

如果是切分檔名"c:\windows\aaa.txt"獲得aaa.txt

通過string::find_last_of#include // std::cout

#include // std::string

void splitfilename (const

std::string& str)

int main ()

output:

splitting: /usr/bin/man

path: /usr/bin

file: man

splitting: c:\windows\aaa.txt

path: c:\windows

file: aaa.txt

而qstring有qstring::split()可將乙個串分離為子串的qstringlist:

qstring str = "polluter pays principle";

qstringlist words = str.split(" ");

上例中,我們將」polluter pays principle」串分離為三個子串list[0]=」polluter」, list[1]=」pays」, list[2]= 「principle」.

split()函式有個可選的第三個引數,指定是否保留空子串,預設為保留。

使用join(),可以將qstringlist中的項聯結起來形成乙個串。join()的引數被插入到每對被聯結的串間。如

words.sort();

str = words.join("\\

\\");

輸出polluter\\pays\\principle

對於雙斜槓\\的輸出,由於程式裡面\\代表乙個反斜線字元』\』

如printf("c:\\user\\my");

輸出結果為c:\user

\my

所以需要\\\\

c++11之後這樣的功能函式在標準庫中已有對應的提供std::shuffle

template

void shuffle (randomaccessiterator first, randomaccessiterator last, urng&& g);

大概原理類似如下**的功能:

順序容器迭代器的開頭(begin)和結尾(end),在[first, last)這個前閉後開區間內的數值將會被隨機排序,順序容器的迭代器必須是定義有swap函式的資料型別以及順序容器也必須支援元素可交換,g唯一隨機數生成器的乙個例項,在標頭檔案中定義。urnguniform random number generator的縮寫。

void shuffle (randomaccessiterator first, randomaccessiterator last, urng&& g)}

數字隨機排序

#include 

#include

#include // std::move_backward

#include // std::default_random_engine

#include // std::chrono::system_clock

int main (int argc, char* argv)

// obtain a time-based seed:

unsigned seed = std::chrono::system_clock::now ().time_since_epoch ().count ();

std::shuffle (v.begin (), v.end (), std::default_random_engine (seed));

for (auto& it : v)

std::cout

<< "\n";

return

0;}

字串隨機排序

使用隨機生成器g對元素[first, last)可行交換的容器內部元素進行隨機排列

const

int max_len = 9;

string valid_chars = "abcdefghijklmnopqrstuvwxyz0123456789";

if(c++11)

else

string rand_str(valid_chars.begin(), valid_chars.begin() + max_len);

return rand_str;

class selfgenerator

};

[參考]

【c++ stl應用與實現】64: 如何使用shuffle和random_shuffle : 洗牌 (since c++11)

【find_last_of】

Python 分割字串與拼接字串

號 實現字串連線 zhrq 95 zhrq95 a 95 b zhrq print b a 注 是反引號,因為其容易看錯,此方法不推薦 zhrq95 print b str a zhrq95 print b repr a repr a 與上面的類似 zhrq95 split 這個函式的作用是將字串根...

python分割和拼接字串

python分割和拼接字串的例項,使用了string的split和join 方法,並對這二個方法做說明。關於string的split 和 join 方法 對匯入os模組進行os.path.splie os.path.join 貌似是處理機制不一樣,但是功能上一樣。1.string.split str...

字串拼接 分割 遍歷輸出

專案中遇到的乙個關於字串拼接,分割,遍歷輸出的問題,做個簡單的記錄,以備後用。首先是增加頁面add.jsp 商品屬性 屬性名 屬性值 屬性名 屬性值 屬性名 屬性值 屬性名 屬性值 屬性名 屬性值 屬性名 屬性值 2.js部分 function add 3.action string keys re...