天天看點

根據給定符号分割字元串

分割字元串并且把分割出的子串用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);
    }