`
king_tt
  • 浏览: 2234786 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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++常用字符串分割方法实例汇总

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

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

    在C++中,实现字符串分割函数split是一项常见的任务,然而,C++标准库中并没有提供这样一个函数,本文将详细介绍如何在C++中实现字符串分割函数split,并提供了一个完整的示例代码。 首先,需要了解的是,C++标准库...

    c++ 字符串分割util

    在`split.h`头文件中,可能会声明一个名为`SplitUtil`的类,其中包含一个或多个成员函数来处理不同类型的字符串分割需求。这些函数可能包括重载版本,接受不同的参数,如`char`分隔符、`std::string`分隔符,甚至...

    纯C++ 字符串处理函数大全源码

    总的来说,这个"纯C++ 字符串处理函数大全源码"为C++开发者提供了一套实用的字符串操作工具,涵盖了字符串的分割、修剪、替换、合并等多种常见操作。通过引入这个库,开发者可以在自己的项目中快速高效地处理字符串...

    Arduino 分割字符串库,strFenGe.rar

    2. **字符串分割**: 在 C/C++ 标准库中,没有内建的函数可以直接根据分隔符分割字符串。但在 Arduino 中,我们可以通过遍历字符串,使用 `indexOf()` 和 `substring()` 方法来实现这个功能。`indexOf()` 找到分隔符...

    C++分割字符串的实现

    如果你使用的是C++17或更高版本,可以利用范围基础(Range-based)的特性,结合`std::views::split`来分割字符串。这是一个更现代且高效的方法,但它需要`&lt;ranges&gt;`头文件和对C++17新特性的理解: ```cpp #...

    c++builder 中的split

    ### C++Builder中的字符串分割技巧:自定义Split函数 在.NET技术中,`Split`函数是一种非常实用且常见的工具,用于将一个字符串按照指定的分隔符进行分割,并返回一个包含分割后各部分的新字符串数组。然而,在C++...

    《C++String深入详解2.0版》PDF

    `strtok` 和 `wcstok` 用于按照分隔符分割字符串。 **3.1.17 strupr/_strupr wcsupr/_wcsupr** `strupr` 和 `wcsupr` 用于将字符串转换为大写。 **3.2 更安全的 C 字符串函数** C 风格字符串函数容易引发安全...

    20120324_字符串分割(C++)1

    STL中的`std::string`类提供了`find`和`substr`两个函数,可以用来实现自定义的字符串分割。`find`函数用于查找子字符串在原字符串中的位置,`substr`函数则用于提取子字符串。 ```cpp std::string::size_type find...

    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++中,标准库并没有提供直接的字符串分割函数,但我们可以自定义一个类来实现这个功能。这个类可能包含一个或多个方法,如`split()`,接受一个字符串和一个分隔符作为参数,返回一个字符串向量或数组,其中每个...

    用string拆分字符串

    Java中,我们使用`String`类的`split()`方法来拆分字符串。这个方法接受一个正则表达式作为参数,例如: ```java String str = "apple|banana|grape"; String[] fruits = str.split("|"); for (String fruit : ...

    C++ string深入详解(最新版)

    在 C++ 中,`string` 类是一个非常重要的类,它提供了丰富的接口来处理字符串。与 C 语言中的字符数组不同,`string` 类提供了一系列内置的操作,使得字符串处理更加便捷和安全。 **特点:** - **安全性:** `...

    以任意指定的字符分割一个字符串,然后保存在字符串数组中

    C++虽然没有内置的`split`函数,但可以使用标准库中的`std::getline`配合`std::stringstream`来实现类似功能: ```cpp #include #include #include &lt;string&gt; std::string str = "Hello,World,How,Are,You"; std:...

    c++和c字符串表达的区别

    C语言作为一门历史悠久的语言,提供了基本的字符串操作函数,而C++则在此基础上增加了更高级的特性,比如STL(Standard Template Library)中的`std::string`类。 ### C语言中的字符串处理 C语言主要通过指针和一...

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

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

    C++字符串处理类库及范例

    在提供的`strtk`库中,我们可以找到一个高效的字符串分割函数。它允许用户自定义分隔符,可以是单个字符或者字符串,这比标准库中的`std::getline()`或`std::istringstream`更加灵活。例如,使用`strtk::split`函数...

Global site tag (gtag.js) - Google Analytics