VC/MFC分割字符串(SplitString)返回CStringArray
2014-04-29 17:03
591 查看
引自:http://bbs.csdn.net/topics/60321228
原版:
CStringArray* SplitString(CString string, char pattern)
{
CStringArray* strArray = new CStringArray();
CString strTemp;
char c;
for(int i=0;i<string.GetLength();i++)
{
c=string[i];
if(c==pattern)
{
strArray->Add(strTemp);
strTemp="";
}
else
{
strTemp+=c;
}
}
strArray->Add(strTemp);
return strArray;
}
修改版(以单个字符分割)
CStringArray* SplitString(CString string, char pattern)
{
CStringArray* strArray = new CStringArray();
CString strTemp;
strTemp = string;
int iPos = 0;
while(iPos != -1)
{
iPos = strTemp.Find(pattern);
if(iPos == -1)
{
break;
}
strArray->Add(strTemp.Left(iPos));
strTemp = strTemp.Mid(iPos+1, strTemp.GetLength());
}
strArray->Add(strTemp);
return strArray;
}
修改版2(以多个字符分割)
CStringArray* SplitString(CString string, char pattern[])
{
int nPattern = strlen(pattern);
CStringArray* strArray = new CStringArray();
CString strTemp;
char c;
BOOL bFind = FALSE;
for(int i=0; i<string.GetLength(); i++)
{
c = string[i];
for(int j=0; j<nPattern; j++)
{
if(c == pattern[j])
{
if(strTemp != "")
{
strArray->Add(strTemp);
}
bFind = TRUE;
break;
}
bFind = FALSE;
}
if(bFind)
{
strTemp = "";
}
else
{
strTemp += c;
}
}
if(strTemp != "")
{
strArray->Add(strTemp);
}
return strArray;
}
使用:
char s[] = {' ', ',', '\0'};
CStringArray strPolygon = *SplitString(strTemp, s);
原版:
CStringArray* SplitString(CString string, char pattern)
{
CStringArray* strArray = new CStringArray();
CString strTemp;
char c;
for(int i=0;i<string.GetLength();i++)
{
c=string[i];
if(c==pattern)
{
strArray->Add(strTemp);
strTemp="";
}
else
{
strTemp+=c;
}
}
strArray->Add(strTemp);
return strArray;
}
修改版(以单个字符分割)
CStringArray* SplitString(CString string, char pattern)
{
CStringArray* strArray = new CStringArray();
CString strTemp;
strTemp = string;
int iPos = 0;
while(iPos != -1)
{
iPos = strTemp.Find(pattern);
if(iPos == -1)
{
break;
}
strArray->Add(strTemp.Left(iPos));
strTemp = strTemp.Mid(iPos+1, strTemp.GetLength());
}
strArray->Add(strTemp);
return strArray;
}
修改版2(以多个字符分割)
CStringArray* SplitString(CString string, char pattern[])
{
int nPattern = strlen(pattern);
CStringArray* strArray = new CStringArray();
CString strTemp;
char c;
BOOL bFind = FALSE;
for(int i=0; i<string.GetLength(); i++)
{
c = string[i];
for(int j=0; j<nPattern; j++)
{
if(c == pattern[j])
{
if(strTemp != "")
{
strArray->Add(strTemp);
}
bFind = TRUE;
break;
}
bFind = FALSE;
}
if(bFind)
{
strTemp = "";
}
else
{
strTemp += c;
}
}
if(strTemp != "")
{
strArray->Add(strTemp);
}
return strArray;
}
使用:
char s[] = {' ', ',', '\0'};
CStringArray strPolygon = *SplitString(strTemp, s);
相关文章推荐
- 字符串分割--java中String.split()用法
- java中字符串分割--String.split()用法
- java.lang.string.split作用:分割字符串为子字符串
- 字符串分割--java中String.split()用法
- 字符串分割--Java中String.split()用法
- java.lang.string split 以点分割字符串无法正常拆分字符串
- SQL根据下标,返回split分割后字符串
- jquery之each循环遍历的方法---split 分割字符串返回数组
- 字符串分割--Java中String.split()用法
- (转)字符串分割--java中String.split()用法
- 字符串分割--java中String.split()用法
- 如何利用String.Split()对字符串进行分割
- 字符串分割--java中String.split()用法
- 字符串分割--java中String.split()用法
- 在PL/SQL中如何分割字符串(Split String)
- JAVA String.split()以"\t"分割字符串的问题
- MFC CString字符串/C++ string split
- split分割字符串返回字符串数组
- 字符串分割的时候用StringUtils.split()方法代替string自带的split,特殊字符不用转义
- 字符串分割--java中String.split()用法