21xrx.com
2025-03-26 12:53:17 Wednesday
文章检索 我的文章 写文章
C++字符串去除特定字符
2023-06-28 07:05:07 深夜i     --     --
C++ 字符串 去除 特定字符 字符滤除

在 C++ 编程中,字符串的处理是很常见的,而有时候我们需要去除字符串中的特定字符。那么在 C++ 中,如何去除一个字符串中的特定字符呢?

首先,我们需要知道 C++ 中 string 类提供了一个 erase() 函数,该函数可以删除一个字符串中的特定部分。通过该函数,我们可以将要删除的字符的位置找出来,然后使用 erase() 函数将其删除。

接下来,我们来看一段示例代码:

#include <iostream>
#include <string>
using namespace std;
string removeChar(string str, char c) {
  for (int i=0; i<str.length(); i++) {
    if (str[i] == c) {
      str.erase(i,1);
      i--;
    }
  }
  return str;
}
int main() {
  string str = "hello";
  char c = 'e';
  string newStr = removeChar(str, c);
  cout << newStr << endl;
  return 0;
}

在此代码中,我们定义了一个 removeChar() 函数,该函数接收两个参数:要操作的字符串和要删除的字符。我们遍历字符串的每一个字符,如果当前字符是要删除的字符,我们就使用 erase() 函数将该字符从字符串中删除。在删除字符后,我们需要将循环变量 i 减 1,以便下一次遍历。

最后我们在主函数中调用 removeChar() 函数,将需要操作的字符串和要删除的字符传递进去,然后将返回的新字符串输出。

对于该示例代码,如果我们传入字符串 "hello" 和字符 'e',那么输出将为 "hllo"。如此操作的时间复杂度为 O(n),即只需要遍历一次字符串就能删除所有要删除的字符,是一个高效的方法。

  
  
下一篇: C++实现CRC校验

评论区