gpt4 book ai didi

c++ - 迭代,找到

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:04:46 29 4
gpt4 key购买 nike

求助!我将如何通过遍历查看字符并计算有效字符出现之前的下划线数量来查找和删除前导下划线。以及从字符串末尾向后迭代以查找任何尾随下划线。

我可以使用下面的方法来删除下划线,但是如何迭代才能找到下划线。

resultF.erase(resultF.length()- trailingCount);
resultF.erase(0,leadingCount);

如果用户输入字符串 ___twenty_three__,最终结果应该是 twenty_three。所以只有前导和尾随的下划线被删除。

最佳答案

像这样的东西应该使用字符串库的 find_first_not_offind_last_not_of .这些页面上有很棒的代码示例。

// From the links above: 
#include <iostream>
#include <string>
using namespace std;

int main ()
{
string str ("erase trailing white-spaces \n");
string whitespaces (" \t\f\v\n\r");
size_t found;

found=str.find_last_not_of(whitespaces);
if (found!=string::npos)
str.erase(found+1);
else
str.clear(); // str is all whitespace

cout << '"' << str << '"' << endl;

return 0;
}

关于c++ - 迭代,找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10220216/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com