MFC字符串分隔函数

本文详细介绍了一种在C++中实现字符串分割的方法,通过自定义函数intSplit,可以按照指定的分隔符将字符串分割成多个部分,并将结果存储在字符串数组中。此函数适用于需要对大量文本数据进行预处理的场景。
摘要由CSDN通过智能技术生成

//自定义分隔函数
int Split(CString source, CString ch,CStringArray &strarr)
{
/*---------------------------------------------------------

  * 函数介绍: 从原字符串里按照指定的分隔字符串进行分割,将分隔的结果存放到字符串数组里
 
 * 输入参数:
 source -- 原字符串
 ch -- 指定的分隔字符串
 strarr -- 外部引用的一个字符串数组
 
   * 输出参数:
  
  * 返回值 :总共分隔了多少段字符串.
  
 -----------------------------------------------------------*/
 CString TmpStr;
 strarr.RemoveAll();
 if(source.IsEmpty() || ch.IsEmpty())
  return 0;
 int len=ch.GetLength();
 int findi=0;
 int findn=0;
 int sum=0;
 
 
 findn=source.Find(ch,findi);
 if (findn!=-1)
 {
  TmpStr=source.Mid(0,findn);
  //TmpStr.Trim();
  strarr.Add(TmpStr);
  findi=findn+len;
  sum++;
  
 }
 else
 {
  //source.Trim();
  strarr.Add(source);
  sum++;
  return sum;
  
 }
 
 
 while (findn!=-1)//有发现
 {
  
  findn=source.Find(ch,findi);
  if (findn!=-1)
  {
   TmpStr=source.Mid(findi,findn-findi);
   //TmpStr.Trim();//去除头尾空格
   strarr.Add(TmpStr);
   
   findi=findn+len;
   sum++;
  }
  else
  {
   TmpStr=source.Mid(findi,source.GetLength()-findi);
   //TmpStr.Trim();
   strarr.Add(TmpStr);
   
   sum++;
   
  }
 }
 
 
 return sum;
}

转载于:https://www.cnblogs.com/yuehui/archive/2012/06/14/2548889.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值