开发者

C++字符串的截取问题

目录
  • C++字符串截取
    • 按照字符串截取
    • 按照字符截取
  • C++截取部分字符串(类似python的切片)
    • 总结

      C++字符串截取

      按照字符串截取

      /**
      * @brief  按照指定的字符串截取字符串
      * @param str 需要截取的字符串
      * @param pattern 按照该字符串截取
      * @return 截取好的字符串vector
      */
      std::vector<std::string> splitStr(std::string str, std::string pattern)
      {
        std::string::size_type pos;
        std::vector<std::string> result;
        //扩展字符串以方便操作
        str += pattern;
        int size = str.编程客栈size();
        for (int i = 0; i < size; i++)
        {
          pos = str.find(pattern, i);
          if (pos < size)
          {php
            std::string s = str.substr(i, pos - i);
            result.push_back(s);
            i = pos + pattern.size() - 1;
          }
        }
        return result;
      }

      按照字符截取

      /**
      * @brief  按照指定的字符截取字符串
      * @param str 需要截取的字符串
      * @param pattern 按照该字符截取
      * @return 截取好的字符串vector
      */
      std::vector<std::string> splitStr(std::string str, char pattern)
      {
        // 扩展字符串,方python便后面进行操作
        str.push_back(pattern);
        std::vector<std::string> result;
        auto iter = str.cbegin();
        auto iter2 = iter;
        for (iter; iter != str.cend(); ++iter)
        {
          if (*iter == pattern)
          {
            result.push_back(string(iter2, iter));
            iter2 = iter + 1;
          }
        }
        return result;
      }

      C++截取部分字符串(类似python的切片)

      1.首先在python中取一个字符串的多少位,使用s[begin:end]。

      2.c++中使用一个函数来截取字符串位

      头文件:

      #include <string> //注意没有.h  string.h是C的标准字符串函数数,c++中一般起名为ctring.  而string头文件是C++的字符串头文件。

      函数原型: 

      string substr(int pos = 0,int n ) const;

      参数说明:    

      • 参数1:pos是必填参数
      • 参数2:n是可参数,表示取多少个字符,不填表示截取到末尾

      该函数功能为:返回从pos开始的n个字符组成的字符串,原字符串不被改变

      # include <IOStream>
      # include <string>
      using namespace std;
      www.devze.comint main()
      {
        const string image_name = "0170.bmp";
        print(image_name.substr(0, 4));
        retjavascripturn 0;
      }

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

      0

      上一篇:

      下一篇:

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      最新开发

      开发排行榜