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

话不多说,直接上代码:

// 将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];
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值