💡
原文中文,约5700字,阅读约需14分钟。
📝
内容提要
在上机面试时,遇到了一个问题,需要切分两行字符串中的数字。Java中使用split()函数处理,C++中没有类似的原生函数。知乎上提供了几种解决方案,包括使用string的find_first_of()和find_first_not_of()函数,使用正则表达式的sregex_token_iterator迭代器,使用istringstream和stringstream进行切分,以及使用strtok()函数。需要注意的是,strtok()函数会修改原字符串。
🎯
关键要点
-
在上机面试中遇到需要切分字符串中的数字的问题。
-
Java中可以使用split()函数,但C++没有类似的原生函数。
-
知乎提供了几种C++切分字符串的解决方案。
-
第一种方法是使用string的find_first_of()和find_first_not_of()函数。
-
第二种方法是使用正则表达式的sregex_token_iterator迭代器。
-
第三种方法是使用istringstream和stringstream进行切分。
-
第四种方法是使用C语言的strtok()函数,但会修改原字符串。
-
使用strtok()时需注意,输出可能会受到原字符串修改的影响。
➡️