分割文本()


/*
参数一:原文本
参数二:分割符
参数三:用于存放的数组变量
参数四(可空):是否清除原来数组内容 默认true
返回值:分割后的数组成员数
*/
int 分割文本(const CString &要被分割的文本, const CString &分割符, CStringArray &用于存放数组的变量,BOOL 清除原数组=true){
	if (清除原数组){用于存放数组的变量.RemoveAll();}


	int 开始位置 = 0;
	int 找到位置 = 0;
	int 分隔符长度 = 分割符.GetLength();
	int 上次找到位置 = 0 - 分隔符长度;
	CString tem;
	while (找到位置 != -1){
		找到位置 = 要被分割的文本.Find(分割符, 开始位置 + 1);
		if (找到位置 != -1)
		{
			tem = 要被分割的文本.Mid(上次找到位置 + 分隔符长度, 找到位置 - 上次找到位置 - 分隔符长度);
			用于存放数组的变量.Add(tem);
			上次找到位置 = 找到位置;
			开始位置 = 找到位置;
		}
		else{
			tem = 要被分割的文本.Mid(上次找到位置 + 分隔符长度, 要被分割的文本.GetLength() - 上次找到位置 - 分隔符长度);
			if (tem.GetLength()>0)
			{
				用于存放数组的变量.Add(tem);
			}
			
		}
	}
	return 用于存放数组的变量.GetSize();
}