// Txt.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <string>
#include <iostream>
#include <vector>
#include <fstream>
#include <tchar.h>
using namespace std;
vector<string> splitEx(const string& src, string sep)
{
vector<string> strs;
int seplen = sep.size();//分割字符串的长度,这样就可以支持如“,,”多字符串的分隔符
int lastpos= 0, index = -1;
while (-1 != (index = src.find(sep,lastpos)))
{
strs.push_back(src.substr(lastpos,index - lastpos));
lastpos= index + seplen;
}
string laststr = src.substr(lastpos);//截取最后一个分隔符后的内容
if (!laststr.empty())
strs.push_back(laststr);//如果最后一个分隔符后还有内容就入队
return strs;
}
string& trim(string &str)
{
if (str.empty())
{
return str;
}
str.erase(0,str.find_first_not_of(" ")); //去除左边空格
str.erase(str.find_last_not_of(" ") + 1);//去除右边空格
return str;
}
int _tmain(int argc, _TCHAR* argv[])
{
string line = "F11 | |Thunder |Thunder |C:\\Program\ Files\\Thunder\ Network\\Thunder\\Program\\Thunder.exe";
string del = "|";
vector<string> strs = splitEx(line, del);
for ( unsigned int i = 0; i < strs.size(); i++)
{
trim(strs[i]);
cout << "[" << strs[i].c_str() << "] ";
}
system("pause");
return 0;
}
C++ string分割字符串并去除空格
最新推荐文章于 2024-07-25 18:17:30 发布