c++ - 如果找到,删除字符串中的第一个字符

标签 c++ string

在 C++ 中,如果我有字符串 'aasdfghjkl',例如,我如何检查是否有 'a',如果有,只删除它的第一次出现?

我尝试了 find() 然后 templetters.erase('a') 但我想我需要知道它的工作位置。

最佳答案

你可以使用

auto it = std::find(s.begin(), s.end(), 'a');
if (it != s.end())
    s.erase(it);

编辑:仅用于 std::string 容器的替代方案

auto pos = s.find('a');
if (pos != std::string::npos)    
    s.erase(pos);

关于c++ - 如果找到,删除字符串中的第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31248706/

相关文章:

c++ - 支持多线程应用程序回调的 linux 共享库

python固定字符串大小

asp.net - 删除 SQL 更新中 WHERE 之前的最后一个逗号

c++ - 为什么 std::codecvt<wchar_t, char, mbstate_t> 不能按定义工作?

c++ - 为什么 2^80 字节的内存分配不会失败?

mysql - 在mysql中连接任意数量的字符串行(分层查询)

c++ - 数组中字符串的迭代器

Java正则表达式分割xml xpath

c++()运算符问题

c++ - 对具有许多缓存未命中的 1000-2000 个元素进行排序