/// <summary>
/// 参数为null时删除左边的空白字符(包括’\n’, ‘\r’, ‘\t’, ’ ')
/// </summary>
/// <returns></returns>
/// 创建时间: 2023-03-28 最后一次修改时间:2023-03-28 (已测试)
_StrW Python_lstrip(const wchar_t* pArrayChar = null)const;
/// <summary>
/// 参数为null时删除右边的空白字符(包括’\n’, ‘\r’, ‘\t’, ’ ')
/// </summary>
/// <param name="pArrayChar"></param>
/// <returns></returns>
/// 创建时间: 2023-03-28 最后一次修改时间:2023-03-28 (已测试)
_StrW Python_rstrip(const wchar_t* pArrayChar = null)const;
/// <summary>
/// 默认删除两边的空白符(包括’\n’, ‘\r’, ‘\t’, ’ '),注意:只删除开头或是结尾的字符,不删除中间部分的字符。
/// </summary>
/// <returns></returns>
/// 创建时间: 2023-03-28 最后一次修改时间:2023-03-28 (已测试)
_StrW Python_strip(const wchar_t* pArrayChar = null)const;
_StrW _StrW::Python_lstrip(const wchar_t* pArrayChar) const
{
int nLelfCopyStart = _nLength; //左边开始拷贝位置
const wchar_t* pRemove = pArrayChar == null ? _t("\t\n\r ") : pArrayChar;
for (int i = 0; i < _nLength; ++i)
{
if (_Math::StrChr(pRemove, _pData[i]) == -1)
{
nLelfCopyStart = i;
break;
}
}
return nLelfCopyStart < _nLength ? SubStr(nLelfCopyStart, _nLength - nLelfCopyStart) : _StrW();
}
_StrW _StrW::Python_rstrip(const wchar_t* pArrayChar) const
{
int nRightCopyStart = -1; //右边开始拷贝位置
const wchar_t* pRemove = pArrayChar == null ? _t("\t\n\r ") : pArrayChar;
for (int i = _nLength - 1; i >= 0; --i)
{
if (_Math::StrChr(pRemove, _pData[i]) == -1)
{
nRightCopyStart = i;
break;
}
}
return nRightCopyStart > 0 ? SubStr(0, nRightCopyStart + 1) : _StrW();
}
_StrW _StrW::Python_strip(const wchar_t* pArrayChar) const
{
int nLelfCopyStart = _nLength; //左边开始拷贝位置
const wchar_t* pRemove = pArrayChar == null ? _t("\t\n\r ") : pArrayChar;
for (int i = 0; i < _nLength; ++i)
{
if (_Math::StrChr(pRemove, _pData[i]) == -1)
{
nLelfCopyStart = i;
break;
}
}
int nRightCopyStart = -1; //右边开始拷贝位置
for (int i = _nLength - 1; i >= 0; --i)
{
if (_Math::StrChr(pRemove, _pData[i]) == -1)
{
nRightCopyStart = i;
break;
}
}
//拷贝长度
int nCopyLength = nRightCopyStart - nLelfCopyStart + 1;
return nCopyLength > 0 ? SubStr(nLelfCopyStart, nCopyLength) : _StrW();
}
例子: