C、C++实现 -- 字符串分割函数split
最近做毕设用惯了Java,突然一个学弟找我问了道题,我发现C++没有split这个函数,还是挺麻烦的,于是找了找博客和实现思路。
#include <vector>
#include <string>
#include <iostream>
using namespace std;void SplitString(const std::string& s, std::vector<std::string>& v, const std::string& c)
{std::string::size_type pos1, pos2;pos2 = s.find(c);pos1 = 0;while(std::string::npos != pos2){v.push_back(s.substr(pos1, pos2-pos1));pos1 = pos2 + c.size();pos2 = s.find(c, pos1);}if(pos1 != s.length())v.push_back(s.substr(pos1));
}int main(){string s = "a*b*c*d*e";vector<string> v ;SplitString(s, v, "*");for(vector<string>::size_type i = 0; i != v.size(); ++i)cout << v[i] << " ";cout << endl;
}
也可以使用boost库的split,不过需要下载这个库。也可以使用strtok函数,C语言和C++都可以。
char *strtok(char *s, const char *delim);
分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
返回 从s开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。
原型: char *strtok(char *str, const char *delim);
功能:分解字符串为一组字符串。
参数说明:str为要分解的字符串,delim为分隔符字符串。
返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。
其它:strtok函数线程不安全,可以使用strtok_r替代。
//借助strtok实现split
#include <string.h>
#include <stdio.h>int main()
{char s[] = "Golden Global View,disk * desk";const char *d = " ,*";char *p;p = strtok(s,d);while(p){printf("%s\n",p);p=strtok(NULL,d);}return 0;
}
参考文章:
https://www.cnblogs.com/dfcao/p/cpp-FAQ-split.html?tdsourcetag=s_pctim_aiomsg
https://www.jb51.net/article/55954.htm
https://www.cnblogs.com/wkfvawl/p/9042695.html
C、C++实现 -- 字符串分割函数split相关推荐
- c语言将字符串按空格分割_如何在c++中实现字符串分割函数split详解
前言 在学习c++中string相关基本用法的时候,发现了sstream的istringstream[1]可以将字符串类似于控制台的方式进行输入,而实质上这个行为等同于利用空格将一个字符串进行了分割, ...
- C++实现字符串分割函数split()
目录 使用strtok()完成分割 使用strsep()完成分割 使用strtok_r()完成分割 实现字符串分割 前言 最近遇到了一个字符串分割的问题,在C++的标准库里面没有字符分割函数split ...
- c语言中字符切割函数split,c 语言 指针 C语言字符串分割函数split实现
c语言也有类似其他语言的split字符串分割函数,就是strtok使用方法如下://用逗号做分隔符,读出内容//char s[] = "123-sldkf-123ls-343434-dfjd ...
- C++中string如何实现字符串分割函数split()——4种方法
如: string str1 = "This is a test"; string str2 = "This-is-a-test"; string str2 = ...
- Java字符串分割函数split
Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项: 1.split 方法 将一个字符串分割为子字符串,然后将 ...
- SQL Server自定义字符串分割函数——Split
我相信大部分人都碰到过,处理数据的时候,字段的值是以 ',' (逗号)分隔的形式,所以我也不能避免. 然后我才知道,sql 是没有类似于 C# 和 Javascript 这种分割字符串的方法.( Sp ...
- java对于 进行字符串分隔_Java字符串分割函数split中以·点分割的问题
问题描述: // 把字符串"192.168.1.1"按照小圆点进行分割,分割成"192","168","1"," ...
- Split字符串分割函数
非常非常常用的一个函数Split字符串分割函数. Dim myTest myTest = "aaa/bbb/ccc/ddd/eee/fff/ggg"Dim arrTest arrT ...
- C++的字符串分割函数
转载:http://blog.csdn.net/shanzhizi/article/details/17189267 C++的字符串没有分割函数,因此需要自己写方便使用.而受到开发工具的影响,有很多用 ...
- php 字符串分割出数字,php 字符串分割函数的总结
在php中字符串分割函数有很多很多,下面我来给各位朋友来介绍各种php中字符串分割实例,有需要的朋友可进入参考参考. PHP函数split()的基本语法为 array split ( string $ ...
最新文章
- c语言cythe头文件,第5章 C语言序的基本结构.doc
- 从零点五开始用Unity做半个2D战棋小游戏(完)
- [跟我一起涨姿势]未注册服务的RHEL6.4使用网易的CentOS源
- C\C++编程中:相对路径+绝对路径
- Linux手机适配,nginx同时适配PC版和手机移动版
- python 菜鸟教程字符串反转函数_转自python的菜鸟教程---字符串相关操作
- 【Scala】Scala的安装以及创建Scala项目的详细步骤
- 内存泄露与内存溢出的区别
- 最短路径之弗洛伊德算法
- 女程序员上班第一件事:调整IDE颜色以适配今天的衣着妆容
- Oracle密码过期处理
- 基于springboot+vue的旅游信息(旅游线路)网站(前后端分离)
- flex measure
- Jmeter压力测试-微信小程序
- MATLAB机械设计——二级齿轮减速器
- 南卡和Snowkids电容笔哪款更值得入手?口碑最佳的国产电容笔
- 简述windows计算机启动过程,计算机启动过程
- 用ImageMagick转换缩小JPG图像提高图像质量的方法
- JSP+JDBC案例代码(数据维护)
- b s html模板,【B/S】HTML~CSS初识
热门文章
- 学习yaf(二) 使用Bootstrap
- kill -3 获取threaddump信息
- filter的详细配置
- iptables 命令详解
- LeetCode:Minimum Window Substring
- 【博客管理】短期长期计划【置顶】
- 如何在vs2010中使用SSE指令集
- 基于麻雀算法的投影寻踪模型 - 附代码
- 从零基础入门Tensorflow2.0 ----七、36. 文本生成之---2. 构建模型
- 从零基础入门Tensorflow2.0 ----四、14. tf.io.decode_csv的使用