字符串的分割操作(strtok,split)
来源:互联网 发布:php网站环境搭建centos 编辑:程序博客网 时间:2024/04/28 12:24
一: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==jscesethe next str==testthe next str==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
1 0
- 字符串的分割操作(strtok,split)
- c语言的split字符串分割函数strtok的使用
- 字符串操作(分割:split)
- 分割字符串(字符串的split)
- 字符串分割函数strtok的用法
- 字符串分割函数strtok的实现
- strtok函数的妙用,分割字符串
- VC实现字符串分割的函数strtok
- split的坑-字符串分割
- strtok函数,分割字符串
- strtok 字符串分割函数
- 字符串分割函数 strtok
- 分割字符串:strtok()函数
- strtok(分割字符串)
- strtok函数分割字符串
- strtok CString 分割字符串
- strtok字符串分割
- 分割字符串:strtok()函数
- 《老罗Android》学习之服务器端Web编程
- J2EE学习篇之--Struts1详解
- mongo like 的2种实现方式
- EXCEL服务器软件培训火热报名中,地点:杭州,时间:5月24-25日(周六,周日)由勤哲软件授课。
- [Cocoa]深入浅出Cocoa之消息
- 字符串的分割操作(strtok,split)
- 如何将 MFC ActiveX 控件标记为安全,脚本和初始化
- 使用开源imageLoader优化listview加载大量本地图片的demo
- poj 3233 Matrix Power Series
- unix 服务器篇之基本 Tcp c/s架构
- Android的休眠与唤醒 && 实例
- 定价策略
- 解决 Actionbar 溢出菜单不显示的问题
- Cage验证码生成器快速上手