功能需求,输入一个字符串“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++常用字符串分割方法,分享给大家供大家参考。具体分析如下: 我们在编程的时候经常会碰到字符串分割的问题,这里总结下,也方便我们以后查询使用。 一、用strtok函数进行字符串分割 原型: char *...
在C++中,实现字符串分割函数split是一项常见的任务,然而,C++标准库中并没有提供这样一个函数,本文将详细介绍如何在C++中实现字符串分割函数split,并提供了一个完整的示例代码。 首先,需要了解的是,C++标准库...
在`split.h`头文件中,可能会声明一个名为`SplitUtil`的类,其中包含一个或多个成员函数来处理不同类型的字符串分割需求。这些函数可能包括重载版本,接受不同的参数,如`char`分隔符、`std::string`分隔符,甚至...
总的来说,这个"纯C++ 字符串处理函数大全源码"为C++开发者提供了一套实用的字符串操作工具,涵盖了字符串的分割、修剪、替换、合并等多种常见操作。通过引入这个库,开发者可以在自己的项目中快速高效地处理字符串...
2. **字符串分割**: 在 C/C++ 标准库中,没有内建的函数可以直接根据分隔符分割字符串。但在 Arduino 中,我们可以通过遍历字符串,使用 `indexOf()` 和 `substring()` 方法来实现这个功能。`indexOf()` 找到分隔符...
如果你使用的是C++17或更高版本,可以利用范围基础(Range-based)的特性,结合`std::views::split`来分割字符串。这是一个更现代且高效的方法,但它需要`<ranges>`头文件和对C++17新特性的理解: ```cpp #...
### C++Builder中的字符串分割技巧:自定义Split函数 在.NET技术中,`Split`函数是一种非常实用且常见的工具,用于将一个字符串按照指定的分隔符进行分割,并返回一个包含分割后各部分的新字符串数组。然而,在C++...
`strtok` 和 `wcstok` 用于按照分隔符分割字符串。 **3.1.17 strupr/_strupr wcsupr/_wcsupr** `strupr` 和 `wcsupr` 用于将字符串转换为大写。 **3.2 更安全的 C 字符串函数** C 风格字符串函数容易引发安全...
STL中的`std::string`类提供了`find`和`substr`两个函数,可以用来实现自定义的字符串分割。`find`函数用于查找子字符串在原字符串中的位置,`substr`函数则用于提取子字符串。 ```cpp std::string::size_type find...
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()`,接受一个字符串和一个分隔符作为参数,返回一个字符串向量或数组,其中每个...
Java中,我们使用`String`类的`split()`方法来拆分字符串。这个方法接受一个正则表达式作为参数,例如: ```java String str = "apple|banana|grape"; String[] fruits = str.split("|"); for (String fruit : ...
在 C++ 中,`string` 类是一个非常重要的类,它提供了丰富的接口来处理字符串。与 C 语言中的字符数组不同,`string` 类提供了一系列内置的操作,使得字符串处理更加便捷和安全。 **特点:** - **安全性:** `...
C++虽然没有内置的`split`函数,但可以使用标准库中的`std::getline`配合`std::stringstream`来实现类似功能: ```cpp #include #include #include <string> std::string str = "Hello,World,How,Are,You"; std:...
C语言作为一门历史悠久的语言,提供了基本的字符串操作函数,而C++则在此基础上增加了更高级的特性,比如STL(Standard Template Library)中的`std::string`类。 ### C语言中的字符串处理 C语言主要通过指针和一...
一、用strtok函数进行字符串分割 原型: char *strtok(char *str, const char *delim); 功能:分解字符串为一组字符串。 参数说明:str为要分解的字符串,delim为分隔符字符串。 返回值:从str开头开始的一个个被...
在提供的`strtk`库中,我们可以找到一个高效的字符串分割函数。它允许用户自定义分隔符,可以是单个字符或者字符串,这比标准库中的`std::getline()`或`std::istringstream`更加灵活。例如,使用`strtk::split`函数...