最近笔试,经常遇到需要对字符串进行快速分割的情景,主要是在处理输入的时候,而以前练习算法题或笔试,很多时候不用花啥时间考虑测试用例输入的问题。可是C++标准库里面没有像java的String类中提供的字符分割函数split ,着实不方便。那么怎么解决这个问题呢?整理了一些方法如下:
1.简洁高效的方法(不过只能包含一个分隔符):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
当处理有空格的字符串时,还是很有用的!!
1 |
|
2.可包含多个分隔符的实现方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
|
方法三:用C语言中的strtok 函数来进行分割
原型: char *strtok(char *str, const char *delim);strtok函数包含在头文件<string.h>中,对于字符数组可以采用这种方法处理。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
来源:CSDN
作者:小鱼仙官
链接:https://blog.csdn.net/yuchunhai321/article/details/104028831