zoukankan      html  css  js  c++  java
  • boost replace_if replace_all_regex_copy用法

    #include <boost/algorithm/string.hpp>            // for is_any_of
    #include <boost/range/algorithm/replace_if.hpp>  // for replace_if
    #include <string>
    #include <iostream>
    
    std::string someString = "abc.def-ghi";
    std::string toReplace = ".-";
    std::string processedString =
       boost::replace_if(someString, boost::is_any_of(toReplace), ' ');
    
    int main()
    {
        std::cout << processedString;
    }
    This modifies the original, so if you need to keep it, you can use boost::replace_copy_if:
    
    #include <boost/algorithm/string.hpp>
    #include <boost/range/algorithm/replace_copy_if.hpp>
    #include <string>
    #include <iostream>
    #include <iterator>    // for back_inserter
    
    std::string someString = "abc.def-ghi";
    std::string toReplace = ".-";
    
    int main()
    {
        std::string processedString;
        boost::replace_copy_if(someString,
            std::back_inserter(processedString), boost::is_any_of(toReplace), ' ');
        std::cout << processedString;
    }


    replace_all_regex_copy

    #include <iostream>                                                                                                                                                                  
    #include <boost/algorithm/string.hpp>                                                                                                                                                
    #include <boost/algorithm/string/regex.hpp>                                                                                                                                          
    
    int main(int argc, char** argv) {                                                                                                                                                    
        std::string someString = "abc.def-ghi";                                                                                                                                          
        std::cout << someString << std::endl;                                                                                                                                            
        std::string toReplace = "[.-]"; // character class that matches . and -                                                                                                          
        std::string replacement = " ";                                                                                                                                                   
        std::string processedString =                                                                                                                                                    
            boost::replace_all_regex_copy(someString, boost::regex(toReplace), replacement);                                                                                             
        std::cout << processedString << std::endl;                                                                                                                                       
        return 0;                                                                                                                                                                        
    } 


  • 相关阅读:
    jar包和war包的介绍和区别
    Oracle中rownum的基本用法
    深入理解JVM—JVM内存模型
    Oracle数据库中序列(SEQUENCE)的用法详解
    jvm主内存与工作内存
    jvm虚拟机
    java 冒泡排序
    java二分查找
    java中split()特殊符号"." "|" "*" "" "]"
    java map的实现原理
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9410053.html
Copyright © 2011-2022 走看看