StringUtil.h
class StringUtil :public Ref
{
public:
static StringUtil* sharedStringUtil();
virtual bool init();
/*参数1要分割的字符串,参数2分隔符*/
Array* split(const char* srcStr, const char* sSep);
private:
static StringUtil* m_StringUtil;
};
StringUtil.cpp
#include “AllRef/StringUtil.h”
StringUtil* StringUtil::m_StringUtil = NULL;
bool StringUtil::init()
{
return true;
}
StringUtil* StringUtil::sharedStringUtil()
{
if (m_StringUtil == NULL)
{
m_StringUtil = new StringUtil();
if (m_StringUtil&&m_StringUtil->init())
{
m_StringUtil->autorelease();
}
else
{
CC_SAFE_DELETE(m_StringUtil);
m_StringUtil = NULL;
}
}
return m_StringUtil;
}
CCArray* StringUtil::split(const char* srcStr, const char* sSep)
{
CCArray* stringArr = CCArray::create();
//CCString* str = CCString::create(srcStr);
std::string str = srcStr;
int size = strlen(srcStr);
int istartpos = 0;
int iendpos = 0;
iendpos = str.find(sSep);
std::string strSingle;
/*将分割的字符串添加到容器里面*/
while (iendpos > 0)
{
strSingle = str.substr(istartpos, iendpos);
stringArr->addObject(CCString::create(strSingle));
str = str.substr(iendpos + 1, size);
iendpos = str.find(sSep);
size = str.size();
}
if (str.compare("") != 0)
{
stringArr->addObject(CCString::create(str));
}
return stringArr;
}
//里面array和CCString都不能用了,但是我不会改