当前位置: 首页>>代码示例>>C++>>正文


C++ wstring::rbegin方法代码示例

本文整理汇总了C++中wstring::rbegin方法的典型用法代码示例。如果您正苦于以下问题:C++ wstring::rbegin方法的具体用法?C++ wstring::rbegin怎么用?C++ wstring::rbegin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在wstring的用法示例。


在下文中一共展示了wstring::rbegin方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: ErasePunctuation

void ErasePunctuation(wstring& str, bool keep_trailing) {
  auto rlast = str.rbegin();

  if (keep_trailing)
    rlast = std::find_if(str.rbegin(), str.rend(),
        [](wchar_t c) -> bool {
          return !(c == L'!' || // "Hayate no Gotoku!", "K-ON!"...
                   c == L'+' || // "Needless+"
                   c == L'\''); // "Gintama'"
        });

  auto it = std::remove_if(str.begin(), rlast.base(),
      [](int c) -> bool {
        // Control codes, white-space and punctuation characters
        if (c <= 255 && !isalnum(c))
          return true;
        // Unicode stars, hearts, notes, etc. (0x2000-0x2767)
        if (c > 8192 && c < 10087)
          return true;
        // Valid character
        return false;
      });

  if (keep_trailing)
    std::copy(rlast.base(), str.end(), it);

  str.resize(str.size() - (rlast.base() - it));
}
开发者ID:vjcagay,项目名称:taiga,代码行数:28,代码来源:string.cpp

示例2: trimright

void StrUtils::trimright( wstring& s )
{
	wstring::difference_type dt;
	wstring::reverse_iterator it;

	for( it = s.rbegin(); it != s.rend(); it++ )
		if( !StrUtils::isspace( *it ) )
			break;

	dt = s.rend() - it;

	s.erase( s.begin() + dt, s.end() );
}
开发者ID:daijingjing,项目名称:bobo_show_video,代码行数:13,代码来源:StrUtils.cpp

示例3: isHuli

bool isHuli(const wstring &hid) {
    if(hid.empty())
        return true;
    int stat = 0;
    bool continuestat = true;
    for(std::wstring::const_reverse_iterator it = hid.rbegin(); it != hid.rend(); ++it) {
        switch(stat) {
        case 0:
            if(*it == _T('F') || *it == _T('S') || *it == _T('U') || *it == _T('G'))
            {
                stat = 1;
            } else if(iswdigit(*it)) {
                stat = 4;
            } else {
                continuestat = false;
            }
            break;
        case 1:
            if(*it == _T('@')) {
                stat = 2;
            } else {
                continuestat = false;
            }
            break;
        case 2:
            if(*it == _T('_')) {
                stat = 3;
            } else {
                continuestat = false;
            }
            break;
        case 3:
            if(!iswdigit(*it)) {
                continuestat = false;
            } else {
                stat = 4;
            }
            break;
        case 4:
            if(!iswdigit(*it)) {
                continuestat = false;
            }
            break;
        }
        if(!continuestat) {
            break;
        }
    }
    return continuestat && stat == 4;
}
开发者ID:zhangchuhu,项目名称:serviceframe,代码行数:50,代码来源:huli_helper.cpp

示例4: trim

wstring trim( wstring text)
{
    text.erase( text.begin(), find_if( text.begin(), text.end(), not1( ptr_fun<wint_t, int>( iswspace ) ) ) );
    text.erase( find_if( text.rbegin(), text.rend(), not1( ptr_fun<wint_t, int>( iswspace ) )).base(), text.end() );
    return text;
}
开发者ID:Microsoft,项目名称:pict,代码行数:6,代码来源:strings.cpp

示例5: RightTrim

wstring StringUtilities::RightTrim(wstring str)
{
    str.erase(find_if(str.rbegin(), str.rend(), not1(std::ptr_fun<int, int>(std::isspace))).base(), str.end());
    return str;
}
开发者ID:killerDJO,项目名称:SelectedTextTranslate,代码行数:5,代码来源:StringUtilities.cpp


注:本文中的wstring::rbegin方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。