天天看点

根据给定符号分割字符串

分割字符串并且把分割出的子串用string类的vector保存起来,代码如下:

其中ch为字符,用来分割字符串的。

// 根据给定符号分割字符串
vector<string> split(const string &ip, char ch)
{
	vector<string> result;
	int start = 0;
	for (int i = 0; i < ip.size(); ++i)
	{
		if (ip[i] == ch)
		{
			result.push_back(string(ip.begin() + start, ip.begin() + i));
			start = i + 1;
		}
	}
	if (start < ip.size())
	{
		result.push_back(string(ip.begin() + start, ip.end()));
	}
	return result;
}
           

其中以空格来分割字符串还有其他的方法:

如输入是“I am a boy”

则可以用以下代码分割,并且使用以string为单位的stack保存分割后的字符串。

string str;
    stack<string> s;
    while(cin>>str)
    {
        s.push(str);
    }