这个类封装了CString分割字符串的功能,可以直接使用。

SplitStr.h

#pragma once// CSplitStrclass CSplitStr : public CWnd
{DECLARE_DYNAMIC(CSplitStr)
private://切分的标志符号CString m_sSplitFlag;//连续的切分的标志符号当成一个标志处理BOOL m_bSequenceAsOne;//被切分的文本CString m_sData;
public:CSplitStr();virtual ~CSplitStr();//得到切分好的文本串void GetSplitStrArray(CStringArray &array);//得到被切分的文本CString GetData();//设置被切分的文本void SetData(CString sData);//得到切分参数BOOL GetSequenceAsOne() {return m_bSequenceAsOne;};//设置切分参数void SetSequenceAsOne(BOOL bSequenceAsOne) {m_bSequenceAsOne = bSequenceAsOne;};//得到切分标志CString GetSplitFlag() {return m_sSplitFlag;};//设置切分标志void SetSplitFlag(CString sSplitFlag) {m_sSplitFlag = sSplitFlag;};protected:DECLARE_MESSAGE_MAP()
};

SplitStr.cpp

// SplitStr.cpp : 实现文件
//#include "stdafx.h"
#include "SplitStr.h"// CSplitStrIMPLEMENT_DYNAMIC(CSplitStr, CWnd)CSplitStr::CSplitStr()
{SetData("");SetSequenceAsOne(TRUE);SetSplitFlag(",");
}CSplitStr::~CSplitStr()
{
}BEGIN_MESSAGE_MAP(CSplitStr, CWnd)
END_MESSAGE_MAP()void CSplitStr::SetData( CString sData )
{m_sData = sData;m_sData.TrimLeft();m_sData.TrimRight();
}CString CSplitStr::GetData()
{return m_sData;
}void CSplitStr::GetSplitStrArray( CStringArray &array )
{CString sData = GetData();CString sSplitFlag = GetSplitFlag();if (sData.Right(1) != sSplitFlag) sData +=sSplitFlag;CString sTemp;int pos =-1;while ((pos=sData.Find(sSplitFlag,0)) != -1){sTemp = sData.Left(pos);if (!GetSequenceAsOne()){array.Add(sTemp);}else{if (!sTemp.IsEmpty() && sTemp !="") 连续的分隔符视为单个处理{array.Add(sTemp);}}sData = sData.Right(sData.GetLength() - pos - 1);}
}// CSplitStr 消息处理程序

测试程序:

    CSplitStr lsv_Split;  CString lsv_TestText = "abc#def#ghi";  CStringArray lav_Array;  lsv_Split.SetSplitFlag("#");  lsv_Split.SetSequenceAsOne(TRUE);  lsv_Split.SetData(lsv_TestText);  lsv_Split.GetSplitStrArray(lav_Array);  int i = lav_Array.GetCount();  CString lsv_Result = lav_Array[i-1];  AfxMessageBox(lsv_Result);  

本文参考了http://blog.csdn.net/lingxiu0613/article/details/8993662

CString分割字符串实现相关推荐

  1. 字符串处理分割字符串

    **strtok** 分解字符串为一组字符串.s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符).首次调用时,s指向要分解的字符串,之后再次调用要把s设成N ...

  2. 分割字符串的AfxExtractSubString函数

    函数原型: BOOL AfxExtractSubString(CString& rString, LPCTSTR lpszFullString, int iSubString, TCHAR c ...

  3. jquery中如何以逗号分割字符串_百度知道

    jquery中如何以逗号分割字符串_百度知道javascript本身就是带split方法的 定义和用法 split() 方法用于把一个字符串分割成字符串数组. 语法 stringObject.spli ...

  4. c语言以空格分割字符串_C语言: 利用sscanf() 函数分割字符串

    头文件:#include sscanf()函数用于从字符串中读取指定格式的数据,其原型如下: int sscanf (char *str, char * format [, argument, ... ...

  5. python字符串按长度分割_python 按照固定长度分割字符串的方法小结

    有如下的一堆mac地址,需要更改成一定格式,如mac='902B345FB021'改为mac='90-2B-34-5F-B0-21'. 借助python脚本,可以轻松实现,原理就是:字符串的按照固定长 ...

  6. B00009 C语言分割字符串库函数strtok

    切割字符串是常用的处理. 这里给出一个使用函数strtok切割字符串的例子. 使用C语言的库函数strtok来切割字符串的好处在于,可以指定任意字符作为分隔符来切割单词.使用该函数,切割字符串的分隔符 ...

  7. R语言使用str_split函数和str_split_fixed函数将字符串分割(分裂、split)成几个部分:str_split函数使用指定的字符或者字符串分割字符串、str_split_fixed

    R语言使用str_split函数和str_split_fixed函数将字符串分割(分裂.split)成几个部分:str_split函数使用指定的字符或者字符串分割字符串.str_split_fixed ...

  8. 分割字符串_[话俾你知]Python使用正则处理字符串技巧(分割、替换)

    当你遇见了一个问题需要使用正则来处理,这个时候你就有了两个问题. 我主业是做图像处理,自然语言处理接触不多,正则表达式的研究并不深入,本文只讲述一些小技巧,如果你对正则表达式比较感兴趣,可以去看看有本 ...

  9. Struts2 分割字符串标签s:generator

    Struts2 分割字符串标签s:generator有些时候会从后台返回一个字符串,可以通过Strut2的标签s:generator进行分割.generator标签,该标签可以将指定字符串按指定分隔符 ...

最新文章

  1. java中io流实现哪个接口_第55节:Java当中的IO流-时间api(下)-上
  2. 快手刘霁:AI基础能力决定每个公司AI的迭代和落地效率丨MEET2020
  3. 一招一式攻克linux(四)
  4. .NET重构—单元测试重构
  5. 【Opencv探索】基于OpenCV的“图像拼接特效”(这效果很实用啊)
  6. JavaFX场景切换代码示例
  7. 29.变量的生命周期
  8. GARFIELD@10-21-2004
  9. [Node.js]001.安装与环境配置
  10. 程序人生,程序猿要把编程一直学习下去吗?
  11. 【图像修复】基于matlab GUI三维图像复原【含Matlab源码 963期】
  12. Python对象与json数据的转换
  13. linux之mail命令发邮件
  14. keep T 不是 KG等级_Lifestyle | 做Keep没有动力?一周的健身计划都在这里了!
  15. DataFrame按某种指定顺序排序
  16. SEAL开源库源码10
  17. Symantec赛门铁克支持型SSL服务器证书_网站安全SSL数字证书认证
  18. css 所有选择器 实例与总结
  19. replica文件服务器,mongodb replica set 配置高性能多服务器详解
  20. 满天星java代码6_java实现的满天星效果的方法

热门文章

  1. FPGA利用IP核计算反正切的方法
  2. 【夏季养心小知识】夏季养心吃什么好?
  3. 2013年05月25日
  4. 动手学数据分析(4)数据可视化
  5. 如何看期货k线图交易?
  6. 神经网络算法是什么意思,神经网络计算工作原理
  7. Shiro学习中出现的错误:Could not autowire. There is more than one bean of ‘Realm‘ type.
  8. 裸辞也要跳槽,失业的第30天我就后悔了!
  9. PID控制参数调整过程图
  10. Office365学习笔记—获取当前用户