删除字符串中某一字符c++
时间: 2023-12-08 09:03:46 浏览: 31
可以使用C++中的STL库中的erase和remove函数来删除字符串中的某一字符。
例如,以下代码可以删除字符串str中的所有字符'c':
```
#include <iostream>
#include <string>
#include <algorithm>
int main() {
std::string str = "Hello, world!";
str.erase(std::remove(str.begin(), str.end(), 'c'), str.end());
std::cout << str << std::endl;
return 0;
}
```
输出结果为:
```
Hello, worl!
```
相关问题
c++递归删除字符串里某字符
递归删除字符串里某字符是一种常用的字符串删除技巧,其主要思想是通过递归函数实现对字符串字符的删除,直至字符串中不存在要删除的字符为止。
首先,定义递归函数,函数接收原字符串和要删除的字符作为参数。在函数内部,判断字符串是否为空或者长度为0,如果是,则返回空字符串。否则,取出第一个字符进行判断,如果是要删除的字符,则递归调用函数,并将删除字符后的字符串作为参数传入,最终返回递归函数的结果;否则,将第一个字符加入到结果字符串中,递归调用函数并将剩余字符串作为参数传入,最终返回结果字符串。这样不断递归调用,直至返回的字符串中不存在要删除的字符。
需要注意的是,递归删除字符串中某字符虽然简单,但需要考虑到边界情况和算法复杂度问题。在递归调用时,需要注意每次截取字符串的开销,因此尽量减少字符串操作次数,以提高算法效率。
总之,可以通过递归删除字符串里某字符的方法来方便地处理字符串,提高程序效率。
统计字符串中某一字符串出现的次数用c++
可以使用 C 语言中的字符串函数来统计字符串中某一字符串出现的次数,例如使用 strstr 函数来查找目标字符串,然后使用循环来计数出现的次数。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello world, world is beautiful";
char target[] = "world";
int count = ;
char *ptr = str;
while ((ptr = strstr(ptr, target)) != NULL) {
count++;
ptr += strlen(target);
}
printf("'%s' appears %d times in '%s'\n", target, count, str);
return ;
}
```
输出结果为:
```
'world' appears 2 times in 'hello world, world is beautiful'
```