Python String方法title()以首字母大写的方式显示每个单词,其它以小写字母显示,即将每个单词的首字母都改为大写。
例:

输出:

下面用C++实现:
/// <summary>
/// 实现 Python String::title()
/// 方法title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写,其它改为小写。
/// </summary>
/// <returns></returns>
/// 创建时间: 2023-03-25 最后一次修改时间:2023-03-25
inline _Str<T> Python_title()const
{
_Str<T> sResult = _pData;
bool bBegin = false;
int iStart = -1;
for (int i = 0; i < _nLength; ++i)
{
if (gs.c_IsEnglishLetters(_pData[i]))
{
if (!bBegin)
{
bBegin = true;
iStart = i;
}
}
else
{
if (bBegin)
{
sResult._pData[iStart] = gs.c_ToUpper(_pData[iStart]);
bBegin = false;
}
}
}
//最后一个字符 例 One of Python's 中的 s
if(iStart != -1)
sResult._pData[iStart] = gs.c_ToUpper(_pData[iStart]);
return sResult;
}
/// <summary>
/// 实现 Python String::title()
/// 方法title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写,其它改为小写。
/// </summary>
/// <returns></returns>
/// 创建时间: 2023-03-25 最后一次修改时间:2023-03-25
inline _Str<T> Python_title()const
{
_Str<T> sResult = _pData;
bool bBegin = false;
int iStart = -1;
for (int i = 0; i < _nLength; ++i)
{
if (gs.c_IsEnglishLetters(_pData[i]))
{
if (!bBegin)
{
bBegin = true;
iStart = i;
}
}
else
{
if (bBegin)
{
sResult._pData[iStart] = gs.c_ToUpper(_pData[iStart]);
bBegin = false;
}
}
}
//最后一个字符 例 One of Python's 中的 s
if(iStart != -1)
sResult._pData[iStart] = gs.c_ToUpper(_pData[iStart]);
return sResult;
}
示例:
