21xrx.com
2024-12-27 10:32:32 Friday
登录
文章检索 我的文章 写文章
C++中字符串删除指定位置字符的操作方法
2023-06-30 17:11:21 深夜i     --     --
C++ 字符串 删除 指定位置 操作方法

在C++中,字符串是一个非常常见的数据类型。在日常编码中,我们难免会遇到需要删除字符串中的某个字符的情况。本文将介绍C++中删除字符串指定位置字符的方法。

方法一:使用erase函数

在C++中,我们可以使用string类的erase函数来删除字符串中的一个字符。这个函数有两种用法:

1. 删除一个字符

erase函数的第一个参数是要删除的位置索引,第二个参数是要删除的字符个数。我们可以将第二个参数设置为1,表示删除一个字符。

例如,我们有一个字符串str,想要在第3个位置删除一个字符,可以这样写:


string str = "ABCDEF";

str.erase(2, 1);

执行完该代码后,字符串str的值将变为"ABDEF"。

2. 删除一个区间

如果我们想要删除一段字符,可以将第二个参数设置为要删除区间的长度。例如,如果我们想要删除字符串str中从第3个位置开始的3个字符,可以这样写:


string str = "ABCDEF";

str.erase(2, 3);

执行完该代码后,字符串str的值将变为"AB".

方法二:使用substr函数拼接字符串

另一种删除字符串中指定位置字符的方法是通过拼接操作。我们可以使用substr函数获取需要删除的字符前面和后面的字符串,然后将其拼接起来。

例如,我们有一个字符串str,想要删除第3个位置的字符,可以这样写:


string str = "ABCDEF";

string newStr = str.substr(0,2) + str.substr(3, str.length() - 3);

在上面的代码中,substr函数的第一个参数是要获取的子串的起始位置,第二个参数是获取的子串的长度。因此,str.substr(0,2)会获取字符串str中从起始位置0开始,长度为2的子串,即"AB";而str.substr(3, str.length() - 3)会获取字符串str中从起始位置3开始,长度为str.length()-3的子串,即"DEF"。将这两个子串拼接起来,得到的newStr就是删除字符后的新字符串。

以上两种方法都可以用来删除字符串中指定位置的字符。个人推荐使用第一种方法,因为它更加简单明了,并且耗时更短。

  
  

评论区

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