将字符串以某个分隔符分隔

简介: 将字符串以某个分隔符分隔

话不多说,直接上代码:

// 将str字符串以“division”字符分隔,最终结果生成多个子字符串并保存到vStr中。
void StringSplit(const std::string& str, std::vector<std::string>& vStr, const char& division)
{
  try
  {
    int startPos = 0;
    int endPos = std::string::npos;
    startPos = str.find_first_not_of(division);
    while (startPos != std::string::npos)
    {
      endPos = str.find_first_of(division, startPos);
      if (endPos != std::string::npos)
      {
        std::string strSplit = str.substr(startPos, (endPos - startPos));
        vStr.push_back(strSplit);
      }
      else
      {
        std::string strSplit = str.substr(startPos);
        vStr.push_back(strSplit);
      }
      startPos = str.find_first_not_of(division, endPos);
    }
  }
  catch (const std::exception& e) {
    std::cout << "parse error:" << str << std::endl;
  }
}
int main()
{
    std::string str = "123@456@789";
    std::vector<std::string> vResult;
    StringSplit(str, vResult, '@');
    string data1 = vResult[0];
    string data2 = vResult[1];
    string data2 = vResult[2];
}
相关文章
|
6月前
去掉字符串前后空格/去掉字符串中所有空格(包括中间连续空格)/去掉所有全角半角空格/去掉所有全角半角&nbsp;空格
去掉字符串前后空格/去掉字符串中所有空格(包括中间连续空格)/去掉所有全角半角空格/去掉所有全角半角&nbsp;空格
|
23天前
|
移动开发 Java Python
字符串里有换行符如何进行匹配?
【10月更文挑战第3天】字符串里有换行符如何进行匹配?
23 1
|
6月前
|
移动开发
基于Notepad++ 快速替换 换行符 为 逗号
【5月更文挑战第5天】基于Notepad++ 快速替换 换行符 为 逗号
|
6月前
|
Shell Perl
用sed如果原字符串或新字符串中包含特殊字符(如正斜杠/或其他特殊字符),需要用\进行转义
用sed如果原字符串或新字符串中包含特殊字符(如正斜杠/或其他特殊字符),需要用\进行转义
675 7
|
C语言
向字符串添加空格
首先我们可以算出s数组的大小-len,也可以直接得到spaces的大小-即要添加的空格数,那么我们要创建的数组大小是len+spacesSize吗? 不是,应该是len+spacesSize+1,这里的加一是存放一个'\n' 这里呢 我们可以写一个for i循环,用来把s中的元素放到arr里面,然后在外面定义一个falg用来充当arr的下标,存进一个元素falg++,再定义一个j=0,当i == space[j]就存放空格,每存放一个空格++.
71 0
|
数据采集 Java 开发工具
Java正则表达式匹配aabb、abab格式字符
我们开发过程中,经常用到正则表达式来匹配想要的字符串,或者从一段文本中提取想要的关键字,比如爬虫应用等。正则表达式是对字符串提取的一套规则,我们把这个规则用正则里面的特定语法表达出来,去匹配满足这个规则的字符串。正则表达式具有通用型,不仅java里面可以用,其他的语言也一样适用。
405 0
Java正则表达式匹配aabb、abab格式字符
lodash转换字符串为空格分隔的大写单词
lodash转换字符串为空格分隔的大写单词
83 0
06:空格分隔输出
06:空格分隔输出
158 0
字符串加空格
给定一个字符串,在字符串的每个字符之间都加一个空格。 输出修改后的新字符串。
150 0