字符串的切割操作(strtok,split)
一:strtok
C/C++:char *strtok(char s[], const char *delim);
s 代表须要切割的字符串,delim代表切割的标志,參数都为比选!返回指向切割部分的指针,假设没有切割成功就返回NULL.
一个简单的样例:
void main()
{char *str = "jscese test strtok";char *delim = " ";char *pstr = NULL;pstr = strtok(str, delim);printf("the first str==%s \n", pstr);while ((pstr = strtok(NULL, delim)) != NULL){printf("the next str==%s \n", pstr);}}
以上看出第一次之后 切割之后,假设还要继续传的參数就是NULL。由于strtok是把切割的标志位置设置成了/0
切割完之后的字符串: jscese/0test/0strtok
所以往后的开头指针的位置都是/0处。所以传NULL。
以上结果为:
the first str==jscese
the next str==test
the next str==strtok
strtok函数为线程不安全的函数!
由于它在处理切割一个字符串的时候,保存移动位置的指针变量是一个静态变量。
这种话,在同一个字符串的处理中。假设有多个strtok的同一时候操作,就会指针错乱了,得不到想到的切割结果。
相相应的有线程安全的strtok_r函数。
二:split
java:stringObj.split([separator,[limit]]);
stringObj 指须要切割的字符串实体.
separator 切割的标志.
limit 代表返回的元素个数,为可选參数。
返回一个字符串数组.
简单样例:
public void split() {String testString = "jscese.test.split";String[] splitarray1 = testString.split("\\.");for (int i = 0; i < splitarray1.length; i++) {System.out.println(splitarray1[i]);}String[] splitarray2 = testString.split("\\.", 2);for (int i = 0; i < splitarray2.length; i++) {System.out.println(splitarray2[i]);}
}
以上以 "."为切割符,可是为特殊字符须要转义 全部在前面须要加 "\\"
java中 像 + * | \ .等都须要加转义。
以上执行结果:
jscese
test
split
jscese
test.splilt
撰写不易。转载请注明出处:http://blog.csdn.net/jscese/article/details/26447589
字符串的切割操作(strtok,split)相关推荐
- Python中字符串的迷幻操作-----驻留机制的理解
文章目录 驻留机制 字符串 什么是字符串驻留机制呐 驻留机制的优点 字符串查询操作 字符串大小写转换操作 字符串内容对齐操作 字符串的切割操作 字符串判断的方法 字符串的替换合并操作 字符串比较 字符 ...
- Python入门--字符串的分割操作,split,rsplit
#字符串劈分操作 #split()-->从字符串的左边开始劈分,默认的劈分字符是 空格字符串,返回的值都是一个列表 #通过参数sep指定劈分字符串的劈分符 #通过参数maxplit指定劈分字符串 ...
- Python基础教程:字符串的常用操作
在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...
- python将字符串存入列表_Python字符串与列表操作
一.字符串的常见操作: 1.find: 变量名.find('关键词') 即在字符串中找对应的关键字,返回一个对应位置下标,若找不到,返回'-1',找到第一个关键词后就返回可以用. rfind 来从右边 ...
- 知识巩固源码落实之6:c语言拼接字符串与切割字符串(strsep)代码
网络数据是以流的形式进行传输的(我们在构造客户端/服务端待发送数据时,肯定有特定的格式). 关于发送一次,一个包的完整性可靠接收(tcp的可靠传输,以及取数据的半包粘包问题)这里不关注,可以参考上文. ...
- python字符串拼接数字_python字符串和数值操作函数大全(非常全)
字符串和数值型数字的操作大全 1.反斜杠\的使用规则:一般使用表示续行的操作,可以其他符号相结合组成其他的一些使用符号,转义字符\'的使用会识别引号,使得字符串中的引号和外面本来的啊引号相区分. (1 ...
- [PY3]——内置数据结构(3)——字符串及其常用操作
字符串及其常用操作xmind图 字符串的定义 1. 单引号/双引号 In [1]: s1='hello world' In [2]: s1="hello world" 2. 三对单 ...
- C#字符串及数组操作
一.一维: int[] numbers = new int[]{1,2,3,4,5,6}; //不定长 int[] numbers = new int[3]{1,2,3};//定长 二.多维 int[ ...
- Python入门基础篇(四)字符串的常用操作,全面易懂,简单实用!!!
请认真阅读哦!!! 字符串几乎是所有编程语言在项目开发过程中涉及最多的一块内容,许多地方都是用到字符串的基本操作,前面讲了列表.元组,这次就来说说字符串吧 文章目录 字符串的常用操作: 1.拼接字符串 ...
最新文章
- the job was canceled什么意思_这些英语短语,因为相差一个“the”导致意思大不相同!...
- R语言list.dirs函数获取目录列表实战
- ECLIPSE 调试F8-------运行到下一断点处 F5-------STEP INTO F6-------STEP OVER
- [caffe解读] caffe从数学公式到代码实现4-认识caffe自带的7大loss
- Qt学习笔记之QString
- java集合类分析-hashset
- centos mysql 服务器_服务器数据库搭建流程(CentOs+mysql)
- Mac版正式上线剪映,适配用M1
- php内置web server
- 网络测试工具iperf使用教程
- 教你ogg怎么转mp3格式
- pytorch使用万能模板
- 计算机网络技术专业一体化课程方案,计算机网络技术课程革新中“一体化”模式的应用研究...
- 华为服务器系统日志,服务器操作系统日志
- 有c语言基础自学JAVA要多久,零基础学java需要多久?要先学习C语言吗?
- 高德地图 API,点击地图标记获取自定义标记 (Marker) 中的信息
- Percona Server 安装
- c语言判断真假,C语言中的真假值
- 前端ios和安卓的兼容性问题
- HFSS入门 T型波导模型优化
热门文章
- Hello, cnblog!
- MFC UI库知多少
- 大数据之-Hadoop完全分布式_SCP案例_同时在1000台服务器上安装JDK_配置环境变量---大数据之hadoop工作笔记0031
- Netty工作笔记0038---Netty模型--通俗版
- STM32工作笔记0077---UCOSIII中使用串口发送数据要注意的点
- VB.NET工作笔记007---ASP.NET中Session超时一直不起作用
- SpringCloud工作笔记73---Http协议操作工具集合
- Grunt学习笔记002---Gruntfile.js详解
- 数据库零碎---mysql编码设置,与乱码分析
- JAVA组件使用---UUID使用方法