而qstring有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::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
唯一隨機數生成器的乙個例項,在標頭檔案中定義。
urng
是uniform 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...