zoukankan      html  css  js  c++  java
  • 【STL】C++使用STL处理替换字符串操作。

    // Examples4STL.cpp : 定义控制台应用程序的入口点。
    //
     
    #include "stdafx.h"
    #include <stdio.h>
    #include <iostream>
    #include <string>
     
    std::string replace( const std::string& inStr, const char* pSrc, const char* pReplace );
    int _tmain(int argc, _TCHAR* argv[])
    {
    	std::string cstr("tomcat is a male catat");
    	
    	std::cout << replace(cstr,"cat","") << std::endl;
     
    	return 0;
    }
     
    std::string replace( const std::string& inStr, const char* pSrc, const char* pReplace )
    {
         std::string str = inStr;
        std::string::size_type stStart = 0;
        std::string::iterator iter = str.begin();
        while( iter != str.end() )
        {
            // 从指定位置 查找下一个要替换的字符串的起始位置。
            std::string::size_type st = str.find( pSrc, stStart );
            if ( st == str.npos )
            {
                break;
            }
            iter = iter + st - stStart;
            // 将目标字符串全部替换。
            str.replace( iter, iter + strlen( pSrc ), pReplace );
            iter = iter + strlen( pReplace );
            // 替换的字符串下一个字符的位置
            stStart = st + strlen( pReplace );
        }
        return str;
    }
    

      

  • 相关阅读:
    svg
    vuex的模块
    es6的新增方法和es5数组的一些方法
    vue的响应规则
    简单的解构赋值
    vuex的四种状态
    indexDB
    token验证
    C# 委托与事件的DEMO
    WPF MVVM 键盘按键事件绑定
  • 原文地址:https://www.cnblogs.com/briny/p/4654183.html
Copyright © 2011-2022 走看看