21xrx.com
2024-09-19 09:55:35 Thursday
登录
文章检索 我的文章 写文章
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校验

评论区

{{item['qq_nickname']}}
()
回复
回复