一: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)相关推荐

  1. Python中字符串的迷幻操作-----驻留机制的理解

    文章目录 驻留机制 字符串 什么是字符串驻留机制呐 驻留机制的优点 字符串查询操作 字符串大小写转换操作 字符串内容对齐操作 字符串的切割操作 字符串判断的方法 字符串的替换合并操作 字符串比较 字符 ...

  2. Python入门--字符串的分割操作,split,rsplit

    #字符串劈分操作 #split()-->从字符串的左边开始劈分,默认的劈分字符是 空格字符串,返回的值都是一个列表 #通过参数sep指定劈分字符串的劈分符 #通过参数maxplit指定劈分字符串 ...

  3. Python基础教程:字符串的常用操作

    在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...

  4. python将字符串存入列表_Python字符串与列表操作

    一.字符串的常见操作: 1.find: 变量名.find('关键词') 即在字符串中找对应的关键字,返回一个对应位置下标,若找不到,返回'-1',找到第一个关键词后就返回可以用. rfind 来从右边 ...

  5. 知识巩固源码落实之6:c语言拼接字符串与切割字符串(strsep)代码

    网络数据是以流的形式进行传输的(我们在构造客户端/服务端待发送数据时,肯定有特定的格式). 关于发送一次,一个包的完整性可靠接收(tcp的可靠传输,以及取数据的半包粘包问题)这里不关注,可以参考上文. ...

  6. python字符串拼接数字_python字符串和数值操作函数大全(非常全)

    字符串和数值型数字的操作大全 1.反斜杠\的使用规则:一般使用表示续行的操作,可以其他符号相结合组成其他的一些使用符号,转义字符\'的使用会识别引号,使得字符串中的引号和外面本来的啊引号相区分. (1 ...

  7. [PY3]——内置数据结构(3)——字符串及其常用操作

    字符串及其常用操作xmind图 字符串的定义 1. 单引号/双引号 In [1]: s1='hello world' In [2]: s1="hello world" 2. 三对单 ...

  8. C#字符串及数组操作

    一.一维: int[] numbers = new int[]{1,2,3,4,5,6}; //不定长 int[] numbers = new int[3]{1,2,3};//定长 二.多维 int[ ...

  9. Python入门基础篇(四)字符串的常用操作,全面易懂,简单实用!!!

    请认真阅读哦!!! 字符串几乎是所有编程语言在项目开发过程中涉及最多的一块内容,许多地方都是用到字符串的基本操作,前面讲了列表.元组,这次就来说说字符串吧 文章目录 字符串的常用操作: 1.拼接字符串 ...

最新文章

  1. the job was canceled什么意思_这些英语短语,因为相差一个“the”导致意思大不相同!...
  2. R语言list.dirs函数获取目录列表实战
  3. ECLIPSE 调试F8-------运行到下一断点处 F5-------STEP INTO F6-------STEP OVER
  4. [caffe解读] caffe从数学公式到代码实现4-认识caffe自带的7大loss
  5. Qt学习笔记之QString
  6. java集合类分析-hashset
  7. centos mysql 服务器_服务器数据库搭建流程(CentOs+mysql)
  8. Mac版正式上线剪映,适配用M1
  9. php内置web server
  10. 网络测试工具iperf使用教程
  11. 教你ogg怎么转mp3格式
  12. pytorch使用万能模板
  13. 计算机网络技术专业一体化课程方案,计算机网络技术课程革新中“一体化”模式的应用研究...
  14. 华为服务器系统日志,服务器操作系统日志
  15. 有c语言基础自学JAVA要多久,零基础学java需要多久?要先学习C语言吗?
  16. 高德地图 API,点击地图标记获取自定义标记 (Marker) 中的信息
  17. Percona Server 安装
  18. c语言判断真假,C语言中的真假值
  19. 前端ios和安卓的兼容性问题
  20. HFSS入门 T型波导模型优化

热门文章

  1. Hello, cnblog!
  2. MFC UI库知多少
  3. 大数据之-Hadoop完全分布式_SCP案例_同时在1000台服务器上安装JDK_配置环境变量---大数据之hadoop工作笔记0031
  4. Netty工作笔记0038---Netty模型--通俗版
  5. STM32工作笔记0077---UCOSIII中使用串口发送数据要注意的点
  6. VB.NET工作笔记007---ASP.NET中Session超时一直不起作用
  7. SpringCloud工作笔记73---Http协议操作工具集合
  8. Grunt学习笔记002---Gruntfile.js详解
  9. 数据库零碎---mysql编码设置,与乱码分析
  10. JAVA组件使用---UUID使用方法