c++ 删除字符串中指定字符至末尾的字符
时间: 2023-09-02 12:07:38 浏览: 212
可以使用 C++ STL 中的 erase 函数来删除字符串中指定字符到末尾的字符。具体实现方法如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello, world!";
char ch = ','; // 指定字符为逗号
// 查找指定字符的位置
size_t pos = str.find(ch);
if (pos != string::npos) {
// 删除指定字符到末尾的字符
str.erase(pos);
}
cout << str << endl; // 输出结果为 "Hello"
return 0;
}
```
在上面的代码中,我们先使用 find 函数找到指定字符的位置,然后使用 erase 函数删除从该位置到末尾的字符。如果字符串中不存在指定字符,则不进行任何操作。
相关问题
使用c++删除字符串中指定字符
可以使用C++标准库中的字符串函数erase()和remove()来删除字符串中指定的字符。
以下是使用erase()函数的示例代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "hello world";
char ch = 'l';
for (int i = 0; i < str.size(); i++) {
if (str[i] == ch) {
str.erase(i, 1);
i--;
}
}
cout << str << endl;
return 0;
}
```
以上代码中,我们首先定义了一个字符串`str`和一个指定的字符`ch`。然后,我们使用for循环遍历字符串,如果当前字符等于指定的字符,则使用erase()函数删除该字符。由于调用erase()函数后,字符串的长度会改变,因此我们需要将循环变量i减1,以便处理下一个字符。最后,输出修改后的字符串。
另一种方法是使用remove()函数,该函数可以将指定字符移到字符串的末尾,并返回指向第一个移动的字符的迭代器。我们可以使用erase()函数删除移到末尾的字符,从而实现删除指定字符的目的。
以下是使用remove()函数的示例代码:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str = "hello world";
char ch = 'l';
str.erase(remove(str.begin(), str.end(), ch), str.end());
cout << str << endl;
return 0;
}
```
以上代码中,我们首先定义了一个字符串`str`和一个指定的字符`ch`。然后,我们使用remove()函数将指定字符移到字符串的末尾,并返回指向第一个移动的字符的迭代器。最后,我们使用erase()函数删除移到末尾的字符,从而实现删除指定字符的目的。最后,输出修改后的字符串。
c++删除字符串中的字符
要删除字符串中的字符c,可以使用erase()函数结合remove()函数来实现。首先,使用remove()函数将字符串中所有等于字符c的元素移动到末尾,然后再使用erase()函数将末尾的这些字符删除。下面是具体的代码示例:
std::string str = "hello world";
str.erase(std::remove(str.begin(), str.end(), 'o'), str.end());
在上述代码中,我们想要删除字符串str中的字符'o'。首先,调用remove()函数将所有等于字符'o'的元素移动到末尾,然后调用erase()函数将末尾的这些字符删除。最后,字符串str中的字符'o'就被成功删除了。
阅读全文