`
jishublog
  • 浏览: 868822 次
文章分类
社区版块
存档分类
最新评论

C++的String类的字符串分割实现----(效果等于Java的String类的split函数)

 
阅读更多

功能需求,输入一个字符串“1-2-3”切割出“1”、“2”、“3”。在Java下直接用String的split函数就可以了。c++下String没有直接提供这个函数,需要自己写。

网上给出的解决方案是这里的三种方法。但我是通过JNI访问的,在里面用这些vector可能不中,自己封装了个,仅供参考:

    String recogScop = "01-02-03";
    cout<<recogScop<<endl;
    int size = recogScop.size();
    int pos = 0;
    string result[20] ;

    for(int i=0, j=0; i<size; i++,j++ )
    {
        pos = recogScop.find("-", i);

        if(pos == -1)
        {
           String subEnd = recogScop.substr(i, size - i); //最后一个字符串
            result[j] = subEnd;
            break;
        }
        if(pos >0)
        {
            String sub = recogScop.substr(i, pos-i);
            result[j] = sub;
            i = pos;
        }
    }

    for(int i=0; result[i] != ""; i++)
        cout<<result[i]<<endl;	


注意上面find的结果pos大于0,表示能够找到“-”分隔符,如果失败,也就是最后一个分隔符,pos会等于-1.

分享到:
评论

相关推荐

    详解C++的String类的字符串分割实现

    详解C++的String类的字符串分割实现 功能需求,输入一个字符串“1-2-3”切割出“1”、“2”、“3”。在Java下直接用String的split函数就可以了。c++下String没有直接提供这个函数,需要自己写。 网上给出的解决方案...

    C++常用字符串分割方法实例汇总

    本文实例汇总了C++常用字符串分割方法,分享给大家供大家参考。具体分析如下: 我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用。 一、用strtok函数进行字符串分割 原型: char *...

    如何在c++中实现字符串分割函数split详解

    主要给大家介绍了关于如何在c++中实现字符串分割函数split的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    c++string类的实现

    2)string类经常用到find find_first_of find_first_not_of find_last_of find_last_not_of substr replace等,以及联合使用来达到java中的split和trim 3) 有些函数返回的是MyString& 、Char& 等(引用),MyString、...

    C++的字符串分割函数的使用详解

    一、用strtok函数进行字符串分割 原型: char *strtok(char *str, const char *delim); 功能:分解字符串为一组字符串。 参数说明:str为要分解的字符串,delim为分隔符字符串。 返回值:从str开头开始的一个个被...

    C/C++的split分隔字符串

    标准C/C++编写的字符串分隔函数,可以设置分隔字符串,解出字符串存到vector里面。有需要的可以下载

    c++builder 中的split

    .net技术中split函数应用广泛,CB中却没有,为了解决有这方面烦恼的朋友的问题,提供个小小函数。 有了它,你的问题将迎刃而解。

    string类的常用方法.pdf

    string类是C++中一个非常常用的类,它提供了许多方法来操作字符串。以下是一些常用的string类方法: 1. 构造函数: • string(): 创建一个空的字符串。 ◦ string(const char* str): 用一个C风格字符串来初始化一个...

    C字符串函数对应的C++ string操作详解

    string是STL里的标准类,习惯了使用指针操作C的char *字符串,刚开始并不是很适应,主要原因是对string.h里的函数没有找到合适的C++替换方法,因此,对常用的sring.h里的函数替换说明如下: strcpy: str.substr() ...

    stringstream操纵string的方法总结

    之前在用C#写代码的时候,用过split函数,可以把一个字符串根据某个分隔符分成若干个字符串数组。在用C++操纵字符串的时候,我一直使用很笨的遍历的方法。为此,我问候过很多次C++标准委员会。直到某一天,我做了一...

    代码分析c++中string类

    (3)string类经常用到find find_first_of find_first_not_of find_last_of find_last_not_of substr replace等,以及联合使用来达到java中的split和trim (4) 使用friend 仅仅是在类中进行声明的非内部 却可以访问...

    VC++ 任意拆分字符串,用逗号隔开

    内容索引:VC/C++源码,字符处理,字符串 VC++ 以逗号为分隔点,自由任意拆分字符串,经常编写代码的朋友可能会想到Split,对,本代码就是使用Split函数实现分隔字符串,这相当实用,在日常编程中,对字符串的截娶过滤...

    TCL培训教程(全)

    8字符串操作 8.1format命令 8.2scan命令 8.3regexp命令 8.4regsub命令 8.5string命令 8.5.1string compare ?-nocase? ?-length int? string1 string2 8.5.2string equal ?-nocase? ?-length int? string1 string2 ...

    三次函数最大值的代码matlab-CPlusPlusStudy:C++学习代码

    11分割字符串。 语法04_可选关于std::optional一些示例。 cxxopts 一些使用图书馆的学习 spdlog 一些使用图书馆的学习 spdlog01_Basic 一些基本的日志 spdlog02_MultiSink 将spdlog与多接收器一起使用,控制台仅写入...

    Java Bug模式详解

    Java.Bug模式详解 第1章 混乱环境下的灵活方法 1.1 软件设计、实现和维护的趋势 1.1.1 对于稳定、安全 系统的需求增加 1.1.2 传统软件工程技 术的局限性 1.1.3 开放源代码的软 件项目的可利用性 1.1.4 对于...

    SpirrwellStringLibrary:我为我制作的一个C ++ 17字符串库

    其目标是提供一个简单的字符串类,该类具有易于使用的辅助函数,如.upper()、. split()或.reverse()。 它不是最优化的库。 有重复的代码! 我包括&lt;算法&gt;! 它不支持分配器! 它的速度不是那么快! 但是...

    StringUtils:该库在 std 中实现了许多常用但本机不支持的功能

    字符串实用程序该库在std::string 中实现了许多常用但本机不支持的函数,如Split 、 Join 、 Trim 、 Compact 、 ReplaceAll 、 ToLower 、 ToUpper 、 Repeat 、 ReadFile 、 WriteFile等。测试make test Passing: ...

    词法分析器与语法分析器.rar

    编译原理课设内容,代码可读性高,关键地方都有注释 ...vector&lt;string&gt; split(const string& str, const string& delim); //处理一个token void deal_tokens(); //对词法分析器得到的token表进行处理

    PHP基础教程 是一个比较有价值的PHP新手教程!

    )可以被用来分割某些特殊字符。举例如下: $first = 'Hello'; $second = "World"; $full1 = "$first $second"; # 产生 Hello World $full2 = '$first $second';# 产生 $first $second 可以将字符和数字利用运算...

Global site tag (gtag.js) - Google Analytics