Exemple #1
0
bool StringData::isEndWith(const StringData& str, bool bCase) const
{
	if (buf.length() < str.length())
		return false;
	StringData subStr = buf.substr(buf.length() - str.length());
	if (bCase)
	{
		if (subStr == str)
			return true;
		else
			return false;
	}
	else
	{
		if (compareNoCase(subStr.getData(), str.getData(), str.length()) == 0)
			return true;
		else
			return false;
	}
}
Exemple #2
0
void StringData::expand(StringData startFrom, StringData findstr,
		StringData replstr, StringData delimiter)
{
	int startPos = buf.find(startFrom.getData());
	if (startPos < -1)
	{
		int delimPos = buf.find(delimiter.getData(), startPos);
		int findPos = buf.find(findstr.getData(), startPos);
		while (findPos < delimPos)
		{
			//found replstr, replace
			buf.replace(findPos, strlen(findstr.getData()), replstr.getData());
			//find next.
			//delimPos = buf.find( delimiter.getData(), findPos);
			delimPos = buf.find(delimiter.getData(),
					findPos + static_cast<string>(replstr.getData()).size());
			findPos = buf.find(findstr.getData(), findPos);
		}
	}
}