⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 split_example.cpp

📁 C++的一个好库。。。现在很流行
💻 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 + -