• C++标准库里面没有字符分割函数split,自己编写函数实现字符串分割功能


    #include <vector>
    #include <string>
    #include <iostream>
    using namespace std;
    
    vector<string> split(const string &s, const string &seperator){
      vector<string> result;
      typedef string::size_type string_size;
      string_size i = 0;
      
      while(i != s.size()){
        //找到字符串中首个不等于分隔符的字母;
        int flag = 0;
        while(i != s.size() && flag == 0){
          flag = 1;
          for(string_size x = 0; x < seperator.size(); ++x)
          if(s[i] == seperator[x]){
            ++i;
            flag = 0;
            break;
          }
        }
        
        //找到又一个分隔符,将两个分隔符之间的字符串取出;
        flag = 0;
        string_size j = i;
        while(j != s.size() && flag == 0){
          for(string_size x = 0; x < seperator.size(); ++x)
          if(s[j] == seperator[x]){
            flag = 1;
            break;
          }
          if(flag == 0) 
          ++j;
        }
        if(i != j){
          result.push_back(s.substr(i, j-i));
          i = j;
        }
      }
      return result;
    }
    
    int main(){
      string s = "a,b*c*d,e";
      vector<string> v = split(s, ",*"); //可按多个字符来分隔;
      for(vector<string>::size_type i = 0; i != v.size(); ++i)
        cout << v[i] << " ";
      cout << endl;
      //输出: a b c d
    }
  • 相关阅读:
    static和final
    java面向对象白话解说
    方法
    数组
    JDK的安装和java程序的开发步骤以及环境变量配置
    VS2010 根据模型生成数据库 打开edmx.sql文件时 vs出现无响应的解决方案
    js简易写法
    .NET程序性能优化基本要领
    数据采集类
    ASP.NET MVC 3 配置EF自动生成模型
  • 原文地址:https://www.cnblogs.com/ming-4/p/11478144.html
Copyright © 2020-2023  润新知