C++分割字符串
分割字符串
- 簡介
- 字符流迭代器
- 對(duì)輸入流重載>>
- boost::split
- using ranges
- std::regex_token_iterator
- 總結(jié)
簡介
c++的標(biāo)準(zhǔn)庫string很多東西沒有提供,包括但不限于split/join/slice, 而用到的機(jī)會(huì)又很多, 雖然利用標(biāo)準(zhǔn)庫/第三方庫實(shí)現(xiàn)split功能的方式有千千萬, 本篇就按照how to split a string in c++中的幾種方式給出一下,已經(jīng)能覆蓋到平時(shí)的使用場景了.
字符流迭代器
使用場景:只有標(biāo)準(zhǔn)庫可用; 只對(duì)空格進(jìn)行分割
原理:輸入流迭代器istream_iterator將輸入流(文件/string等)分割成若干元素, 分割是通過迭代器自增實(shí)現(xiàn), 每自增一次迭代器就從輸入流中獲取一個(gè)元素直到末尾, 而尾迭代器不需要賦值, 默認(rèn)就空的; 流迭代器分割輸入流的默認(rèn)算法是按照空格來截取, 因此可以利用輸入流迭代器的此種特性來做字符串分割.
總結(jié)
- 上一篇: 家装电线怎么接头才不会发热短路呢?
- 下一篇: 断桥铝门窗十 大名牌的门窗质量如何?