zoukankan      html  css  js  c++  java
  • c++ 中的slipt实现

    来自

    http://www.cnblogs.com/dfcao/p/cpp-FAQ-split.html

    http://blog.diveinedu.com/%E4%B8%89%E7%A7%8D%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%88%86%E5%89%B2%E6%96%B9%E6%B3%95cc/

    利用STL函数进行字符串分隔

    涉及到string类中的的两个函数,find和substr

    1,find函数(查找子字符串第一次出现的位置

    size_type find( const basic_string& str, size_type pos = 0 ) const;

    str,表示目标字符串

    pos,从pos位置开始

    返回值:返回子串第一次出现的位置,否则返回string::npos尾后位置

    2,substr函数(获得子字符串

    basic_string substr( size_type pos = 0,size_type count = npos );
    

    pos,子字符串第一个字符的位置

    count,子字符串中的长度,默认值为npos,npos就是 s的尾后位置

    返回值是一个 字符串,即s [ pos, pos_count ),左闭右开。

    在编程语言中,这个度:s.substr(pos, sizeof(sub) )

    可以这么实现

    class A{
        void myslipt(string &s,vector<string> &re,string &c){
            std::string::size_type pos1,pos2;
            pos2 = s.find(c);///find
            pos1 = 0;
            while(std::string::npos != pos2){
                re.push_back(s.substr(pos1,pos2-pos1));///[p1,p2)
                pos1 = pos2+c.size();
                pos2 = s.find(c,pos1);
            }
            if(pos1!=s.length()){
                re.push_back(s.substr(pos1));
            }
        }
    
        void test(ListNode *head){
            cout<<"begin test...
    ";
            string str = "this is a string";
            string c = "is";
            vector<string> re;
            myslipt(str,re,c);
            for(auto i: re){
                cout<<"|"<<i<<"|"<<endl;
            }cout<<endl;
    
            cout<<"end test...
    ";
        }  
    };
    begin test...
    |th|
    | |
    | a string|
    
    end test...
  • 相关阅读:
    LeetCode 230. Kth Smallest Element in a BST
    LeetCode 114. Flatten Binary Tree to Linked List
    LeetCode 222. Count Complete Tree Nodes
    LeetCode 129. Sum Root to Leaf Numbers
    LeetCode 113. Path Sum II
    LeetCode 257. Binary Tree Paths
    Java Convert String & Int
    Java Annotations
    LeetCode 236. Lowest Common Ancestor of a Binary Tree
    LeetCode 235. Lowest Common Ancestor of a Binary Search Tree
  • 原文地址:https://www.cnblogs.com/li-daphne/p/5524752.html
Copyright © 2011-2022 走看看