出处:http://www.cnblogs.com/lzjsky/archive/2011/01/23/1942508.html

1. 查找字符

 std::wstring  strData = L"<result>[北京市, 上海市, 深圳市]</result>"

 void DoF(const std::wstring &strData, std::list<std::wstring>& listDo)

 {

     std::wstring strTarB = L"<result>[";

     std::wstring strTarE = L"]</result>";

     std::wstring::size_type nBeginTempB = , nEndTempB = , nBeginTempE = , nEndTempE = ;

     nEndTempB = strData.find(strTarB, nBeginTempB);

     nEndTempE = strData.find(strTarE, nBeginTempE);

     if(nEndTempB != std::wstring::npos && nEndTempE != std::wstring::npos && nEndTempE > nEndTempB + strTarB.length())

     {

         std::wstring strTemp = strData.substr(nEndTempB + strTarB.length(), nEndTempE -  nEndTempB - strTarB.length());

         std::wstring strSub;

         strTemp += L",";

         std::list<std::wstring>::iterator it;

         listDo.clear();

         std::wstring::size_type nBegin = , nEnd = ;

         while( (nEnd = strTemp.find(L",", nBegin)) != std::wstring::npos)

         {

             strSub = strTemp.substr(nBegin, nEnd - nBegin);

             if(strSub.length() > )

             {

                 listDo.push_back(strSub);

             }

             nBegin = nEnd + ;

         }

     }

 }

2. 替换字符串

stl 中的string只是提供了按照位置和区间的replace函数,而不能用一个string字串来替换指定string中的另一个字串.

 void string_replace(std::string& strBig, const std::string & strsrc, const std::string &strdst)

 {

      std::string::size_type pos = ;

      while( (pos = strBig.find(strsrc, pos)) != string::npos)

      {

          strBig.replace(pos, strsrc.length(), strdst);

          pos += strdst.length();

      }

 }

 // 使用

 std::string strinfo= "This is Winter, Winter is a programmer. Do you know Winter?";

 // 把strinfo中的所有"Winter" 替换为"wende"

 string_replace(strinfo, "Winter", "wende");

stl string 使用(转载)的更多相关文章

  1. 格式字符串分配stl::string

    代码非常easy,不解释,直接在代码: #include <cstdio> #include <cstdarg> #include <iostream> using ...

  2. 深入剖析 linux GCC 4.4 的 STL string

    转自: 深入剖析 linux GCC 4.4 的 STL string 本文通过研究STL源码来剖析C++中标准模板块库std::string运行机理,重点研究了其中的引用计数和Copy-On-Wri ...

  3. 浅谈C++ STL string容器

    浅谈C++ STL string容器 本篇随笔简单讲解一下\(C++STL\)中\(string\)容器的使用方法及技巧. string容器的概念 其实\(string\)并不是\(STL\)的一种容 ...

  4. C++标准模板库Stand Template Library(STL)简介与STL string类

    参考<21天学通C++>第15和16章节,在对宏和模板学习之后,开启对C++实现的标准模板类STL进行简介,同时介绍简单的string类.虽然前面对于vector.deque.list等进 ...

  5. 转C++之stl::string写时拷贝导致的问题

    前几天在开发某些数据结构到文件的 Dump 和 Load 功能的时候, 遇到的一个 bug . [问题复现] 问题主要出在 Load 过程中,从文件读取数据的时候, 直接使用 fread 的去操作 s ...

  6. [转载] C++ STL string的Copy-On-Write技术

    原文: http://coolshell.cn/articles/12199.html stl的string是经过严格优化的, 深入理解对以后编程过程中应用string非常有益处, 感谢左耳朵耗子的精 ...

  7. 【转载】 C++ stl string 操作

        总结一下C++中string的操作,来自〈C++ Primer〉第四版. 1. string对象的定义和初始化: 12345678910111213 string s1; //空串string ...

  8. STL——string

    C++之string类型详解 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够.字符串长度等等,而且作为一个泛型类出现,他集成的操作函 ...

  9. stl, string不仅是charString, 更是byteString

     转载至:http://chzhou.blog.sohu.com/97459512.html 以前一直没有注意到STL中的string的length函数,但一直用它.天真的以为它会返回字符串的长度 ...

随机推荐

  1. ubuntu ssh 连接加速

    vi /etc/ssh/sshd_config 最后加上 UseDNS no

  2. idea启动tomcat后访问项目报java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

    一.报错“java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet” 1.File --- ...

  3. KVM--安装及初步使用

    KVM是Kernel-based Virtual Machine的简称,是一个开源的虚拟化模块,今天我将在CentOS7的操作系统上安装KVM,以下是我的安装步骤. 一.环境信息 系统: CentOS ...

  4. 【python-opencv】19-Canny边缘检测

    Canny 边缘提取的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是: 好的检测- 算法能够尽可能多地标识出图像中的实际边缘. 好的定位- 标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近 ...

  5. Why String is Immutable or Final in Java

    The string is Immutable in Java because String objects are cached in String pool. Since cached Strin ...

  6. 01_Python 基础课程安排

    Python 基础课程安排 目标 明确基础班课程内容 课程清单 序号 内容 目标 01 Linux 基础 让大家对 Ubuntu 的使用从很 陌生 达到 灵活操作 02 Python 基础 涵盖 Py ...

  7. WordPress已占全球网站平台18.9%的份额

    Automattic创始人马特·穆伦维格(Matt Mullenweg)在旧金山的WordCamp会议上谈到了旗下博客平台WordPress的最新发展情况.WordPress平台已成为全球18.9%网 ...

  8. 004-redis-命令-哈希操作,列表操作

    Redis hash 命令 下表列出了 redis hash 基本的相关命令: 序号 命令及描述 1 HDEL key field1 [field2] 删除一个或多个哈希表字段 2 HEXISTS k ...

  9. [py][mx]django通过邮箱找回密码

    忘记密码处理流程 注意: 这个文章里的找回密码页面截取有问题. 找回密码页应该是让输入邮箱 直接上代码 class ActiveView(View): # 主要功能是修改user_profile里的i ...

  10. css中外边距

    1.内部元素设置margin等,父元素高度不能适应 .classA { height: 200px; background-color: cornflowerblue; overflow: hidde ...