字符串拆分的实现(希望能帮到你)

本文介绍了一个使用 C++ 实现的字符串拆分方法,该方法能够根据指定的分隔符将源字符串拆分成多个子串,并将这些子串存储到一个整数键映射到字符串值的 map 容器中。通过这种方式,可以方便地管理和访问拆分后的各个字符串片段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

void spit_string(map<int,std::string>& data,string src_data,string sign)
{
int label = 0;
int label_next = 0;
int label_p =0;
int num = 0;
//
string str_temp;
label = src_data.find(sign,0);




if (label != src_data.npos)
{
while (src_data.npos != label)
{
label_next = src_data.find(sign,label+1);
if(label == 0)
{
if(label_next - label == 1)
{
label_next = src_data.find(sign,label_next+1);
str_temp.assign(src_data,2,label_next-2);
}else
{
str_temp.assign(src_data,label+1,label_next-label-1);
}


if (str_temp != "")
{
data.insert(std::map<int,string>::value_type(num++,str_temp));
}
label = label_next+1;
label_p = label;
}else
{
str_temp.assign(src_data,label_p,label-label_p);
if (str_temp != "")
{
data.insert(std::map<int,string>::value_type(num++,str_temp));
}
label_p = label+1;
label = label_next;
}


}
str_temp.assign(src_data,label_p,src_data.length()-label_p);
if (str_temp != "")
{
data.insert(std::map<int,string>::value_type(num++,str_temp));
}
}else
{
str_temp = src_data;
if (str_temp != "")
{
data.insert(std::map<int,string>::value_type(num++,str_temp));
}


}
//int ss = 0;


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值