split函数实现
Posted beixiaobei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了split函数实现相关的知识,希望对你有一定的参考价值。
#include <iostream> #include <sstream> #include <vector> #include <string> using namespace std; void addstr(const string s, int i, int j, vector<string> &result) {//从i到分割点j部分子串加入到result,需判断子串是否全为空,有一个不为空则可以 bool allempty = true; for (int x = i; x < j ; x++) {//判断子串是否全为空,如果有一个字符不为空,则加入到result if (s[x] != ‘ ‘) { allempty = false; break; } } if (!allempty) result.push_back(s.substr(i, j - i));//从i开始,j-i个字符 } vector<string> mysplit(const string s, const char delim) { vector<string> result; if (s.empty()) return result; int i = 0; int j = 0; while (j < s.size() && s[j] == ‘ ‘) {//移动到第一个不为空的字符处 ++i; ++j; } //++j; while (j < s.size()) {//从i到分割点j 放入result中 if (s[j] == delim) { addstr(s, i, j, result); i = ++j;//i和j都指向下一个字符 } else ++j; } addstr(s, i, j, result);//最后一个子串 return result; } int main() { string s = ",he llo boy, I am a student, come from shangdong"; vector<string> res1 = mysplit(s, ‘,‘); for (auto a : res1) { cout << a << endl; } system("pause"); return 0; }
以上是关于split函数实现的主要内容,如果未能解决你的问题,请参考以下文章
SQLite 片段函数实现不会在 TextView 中将文本格式化为 HTML
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情