📄 split_example.cpp
字号:
// Boost string_algo library example file ---------------------------------//// Copyright Pavol Droba 2002-2003. Use, modification and// distribution is subject to the Boost Software License, Version// 1.0. (See accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt)// See http://www.boost.org for updates, documentation, and revision history.#include <string>#include <vector>#include <iostream>#include <iterator>#include <functional>#include <boost/algorithm/string/classification.hpp>#include <boost/algorithm/string/split.hpp>#include <boost/algorithm/string/find_iterator.hpp>using namespace std;using namespace boost;int main(){ cout << "* Split Example *" << endl << endl; string str1("abc-*-ABC-*-aBc"); cout << "Before: " << str1 << endl; // Find all 'abc' substrings (ignoring the case) // Create a find_iterator typedef find_iterator<string::iterator> string_find_iterator; for(string_find_iterator It= make_find_iterator(str1, first_finder("abc", is_iequal())); It!=string_find_iterator(); ++It) { cout << copy_range<std::string>(*It) << endl; // shift all chars in the match by one transform( It->begin(), It->end(), It->begin(), bind2nd( plus<char>(), 1 ) ); } // Print the string now cout << "After: " << str1 << endl; // Split the string into tokens ( use '-' and '*' as delimiters ) // We need copies of the input only, and adjacent tokens are compressed vector<std::string> ResultCopy; split(ResultCopy, str1, is_any_of("-*"), token_compress_on); for(unsigned int nIndex=0; nIndex<ResultCopy.size(); nIndex++) { cout << nIndex << ":" << ResultCopy[nIndex] << endl; }; cout << endl; return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -