出处: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. LoadRunner-参数化(连接数据库)

    多用户并发测试,用户信息来自数据库,对脚本中accounts值替换为参数后,打开参数列表. 1.点击 Data Wizard...:选择Specify SQL statement manu: 2.点击 ...

  2. 洛谷 P4201 设计路线 [NOI2008] 树形dp

    正解:树形dp 解题报告: 大概是第一道NOI的题目?有点激动嘻嘻 然后先放个传送门 先大概港下这题的题意是啥qwq 大概就是给一棵树,然后可以选若干条链把链上的所有边的边权变成0,但是这些链不能有交 ...

  3. [py][mx]django城市-教学机构-教师模型设计

    分析下城市-教学机构-教师模型设计 CourseOrg 课程信息 Teacher 教师信息 CityDict 城市信息 代码 from datetime import datetime from dj ...

  4. df值自由度学习[转载]

    转自:https://www.applysquare.com/topic-cn/78TAnIzZ6/ https://zhidao.baidu.com/question/175605082855699 ...

  5. ios一些问题

    多线程,加锁,如何互斥. http里面的get put post的差别 sockect tcp udp

  6. apply、map、applymap、Dropna

    DataFrame常用易混淆方法 apply && map && applymap 1.apply():作用在一维的向量上时,可以使用apply来完成,如下所示 2.m ...

  7. Qt QDataTime QString 两个类的使用

    QDateTime now = QDateTime::currentDateTime(); QString nowStr; nowStr = now.toString("yyyyMMdd_h ...

  8. JSON—序列化

    表单数据的序列化   用SerializeArray()将有效控件序列化为JSON对象数组? 包含name和value两个属性 SerializeArray()检测一组表单元素中的有效控件? 1.没有 ...

  9. zw版【转发·台湾nvp系列Delphi例程】HALCON MirrorImage

    zw版[转发·台湾nvp系列Delphi例程]HALCON MirrorImage procedure TForm1.Button1Click(Sender: TObject);var img, im ...

  10. CAMediaTiming`协议(9.1 图层时间)

    #CAMediaTiming`协议 CAMediaTiming协议定义了在一段动画内用来控制逝去时间的属性的集合,CALayer和CAAnimation都实现了这个协议,所以时间可以被任意基于一个图层 ...