字符串分割

找工作,面临着要笔试,而编程题的一些小的函数有时候又很需要,平时简单记一下小的函数,以后用到,直接复制粘贴就行。

将字符串按照某个字符分割成若干个字符串,

如"a,b,bbbb,ccc"按照‘,’分割成“a”、“b”、“bbbb”、“ccc”

如“:a:b:d:”按照‘:’分割成 “空”“a”、“b”、“d”、“空”(注意,冒号在两端,所以有空)

vector<string> split(const string s, char seperator) {
	vector<string> result;//最终返回的结果
	typedef string::size_type string_size;
	string_size i = 0;  //记录当前下标
	string_size j=0;  //记录上一个为seperator的下标
	for (i = 0; i < s.size(); i++)
	{
		if (s[i] == seperator )
		{
			result.push_back(s.substr(j, i - j));
			j = i + 1;
		}
	}
//下面是为了判断字符是不是在字符串的最右边,如果不是,在最后插入最后一个分割的字符串;如果是,插入空
	if (s[s.size() - 1] != seperator) result.push_back(s.substr(s.rfind(seperator) + 1));
	else if (s[s.size() - 1] == seperator)result.push_back("");
	return result;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值