【1】 string_trim : 去除字符串首尾的空格
#include <iostream>
#include <string>
std::string string_trim(const std::string& str)
{
std::string::size_type pos_first = str.find_first_not_of(' ');
if (pos_first == std::string::npos) //该字符串除空字符外,无其他字符
{
return "";
}
string::size_type pos_second = str.find_last_not_of(' ');
if (pos_second != std::string::npos)
{
return str.substr(pos_first, pos_second - pos_first + 1);
}
return str.substr(pos_first);
}
【2】 string_split : 将字符串按照指定分隔符分开,并返回分成的vector的大小
int string_split(const std::string& str, std::vector<std::string>& res, std::string sep = ",")
//默认分隔符为“,”,将str分割到res中存储
{
if (str.empty()) //字符串为空
{
return 0;
}
string tmp; //用来存储分割出来的临时字符串
string::size_type pos_begin = str.find_first_not_of(sep); //定位第一个不是分隔符的地方
string::size_type comma_pos = 0;
while (pos_begin != std::string::npos)
{
comma_pos = str.find(sep, pos_begin); //不断地查找从pos_begin开始之后的分隔符位置
if (comma_pos != std::string::npos)
{
tmp = str.substr(pos_begin, comma_pos - pos_begin);
pos_begin = comma_pos + sep.length();
}
else
{
tmp = str.substr(pos_begin);
pos_begin = comma_pos;
}
if (!tmp.empty())
{
res.push_back(tmp);
tmp.clear();
}
}
return res.size();
}