精华内容
下载资源
问答
  • c++string删除指定字符串
    千次阅读
    2021-01-06 13:47:49

    用STL的string的 find 和 erase:

    首先,通过find找到需要删除的字符/字符串的位置:

    string str;

    string target;

    int pos = str.find(target);

    然后通过erase进行删除:

    n = target.size();

    str = str.erase(pos,n); //从pos这个位置开始,删除n个字符

    更多相关内容
  • C++-String-删除指定字符

    千次阅读 2022-02-11 15:52:49
    /* 在 str 中删除 a 字符 */ str.erase(std::remove(str.begin(), str.end(), 'a' , str.end());
    /* 在 str 中删除 a 字符 */
    str.erase(std::remove(str.begin(),  str.end(),  'a' ,  str.end());
    
    展开全文
  • C++string删除指定字符

    千次阅读 2021-06-01 17:54:26
    C++string删除指定字符 C++string删除指定字符 C++中要从string中删除所有某个特定字符, 可用如下代码 str.erase(std::remove(str.begin(), str.end(), ‘a’), str.end()); 其中, remove来自, 它的签名是 ...

    C++在string中删除指定字符

    C++中要从string中删除所有某个特定字符, 可用如下代码

    str.erase(std::remove(str.begin(), str.end(), ‘a’), str.end());

    其中, remove来自, 它的签名是

    template <class ForwardIterator, class T>
      ForwardIterator remove (ForwardIterator first, ForwardIterator last, const T& val);
    

    作用: 在容器中, 删除[first, last)之间的所有值等于val的值.

    删除方法: 将某个等于val的值用下一个不等于val的值覆盖.

    返回值: 一个迭代器 (记作newEnd), 该迭代器指向最后一个未被删除元素的下一个元素, 即相当于容器新的end.

    所以, 运行完remove后, 容器的[first, newEnd)内的元素即为所有未被删除的元素, [newEnd, end)之间的元素已经没用了.

    这样, 再运行str.erase(newEnd, str.end())即可清空[newEnd, end)之间的元素.

    std::remove_if与remove类似, 只是它接受的第三个参数是个函数.

    // remove_if example
    #include <iostream>     // std::cout
    #include <algorithm>    // std::remove_if
     
    bool IsOdd (int i) { return ((i%2)==1); }
     
    int main () {
      int myints[] = {1,2,3,4,5,6,7,8,9};            // 1 2 3 4 5 6 7 8 9
     
      // bounds of range:
      int* pbegin = myints;                          // ^
      int* pend = myints+sizeof(myints)/sizeof(int); // ^                 ^
     
      pend = std::remove_if (pbegin, pend, IsOdd);   // 2 4 6 8 ? ? ? ? ?
                                                     // ^       ^
      std::cout << "the range contains:";
      for (int* p=pbegin; p!=pend; ++p)
        std::cout << ' ' << *p;
      std::cout << '\n';
     
      return 0;
    }
    

    Output:

    myvector contains: 10 30 30 10 10 0 0 0
    

    还有个std::remove_copy, 签名:

    template <class InputIterator, class OutputIterator, class T>
      OutputIterator remove_copy (InputIterator first, InputIterator last,
                                  OutputIterator result, const T& val);
    

    它会把[first, last)之间不等于val的元素都向从result开始的容器拷贝.

    // remove_copy example
    #include <iostream>     // std::cout
    #include <algorithm>    // std::remove_copy
    #include <vector>       // std::vector
     
    int main () {
      int myints[] = {10,20,30,30,20,10,10,20};               // 10 20 30 30 20 10 10 20
      std::vector<int> myvector (8);
     
      std::remove_copy (myints,myints+8,myvector.begin(),20); // 10 30 30 10 10 0 0 0
     
      std::cout << "myvector contains:";
      for (std::vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it)
        std::cout << ' ' << *it;
      std::cout << '\n';
     
      return 0;
    }
    

    Output:

    myvector contains: 10 30 30 10 10 0 0 0
    

    转载自:https://www.cnblogs.com/7z7chn/p/6341453.html

    展开全文
  • 在Python中,可以使用strip方法来清除掉字符串两端指定字符组成的字符串,在处理字符串时,非常的方便。然而,在C++中,string类没有提供类似的方法来清除指定的字符,但是,它提供...

    在Python中,可以使用strip方法来清除掉字符串两端指定字符组成的字符串,在处理字符串时,非常的方便。然而,在C++中,string类没有提供类似的方法来清除指定的字符,但是,它提供了非常多的方法,配合使用,也可以达到同样的效果。

    删除字符串中的空格

    定义一个string类型的变量:

    std::string ss = "     123,   456,   789     ";
    

    想要删除这个字符串里的所有空格,可以使用 erase 方法配合 remove_if 方法来进行操作:

    #include <iostream>
    #include <string>
    #include <algorithm> 
    
    
    int main()
    {
      std::string ss = "     123,   456,   789     ";
      ss.erase(std::remove_if(ss.begin(), ss.end(), isspace), ss.end());
      std::cout << ss << std::endl;
    }
    

    输出结果显示:

    这里使用了 isspace 这个方法用来判断是否为空格,它在remove_if函数中充当回调函数的角色。

    如果想要删除字符串的 "," 字符,则需要自己编写回调函数,如下:

    ss.erase(std::remove_if(ss.begin(), ss.end(), [](char ch) {return ch == ','; }), ss.end());
    

    这行代码使用了匿名函数,写起来也非常的容易。结果显示如下:

    这里要注意的是: erase方法是会改变自身的,因此,如果不想字符串被改变,则需要编写另外的方法来实现。

    删除字符串两边指定的字符

    这个则更简单,只需使用erase方法即可.

    删除左侧的空格:

      ss.erase(0, ss.find_first_not_of(' '));
    

    删除右侧的空格:

    ss.erase(ss.find_last_not_of(' ') + 1);
    

    注意,这都是在原字符串上进行操作。

    在C++上实现一些常用的字符串操作,使用起来也非常的得心应手。

    展开全文
  • C++ string 字符串删除指定字符

    千次阅读 2020-05-17 22:43:02
    首先,通过find找到需要删除的字符/字符串的位置: string str; string target; int pos = str.find(target); 然后通过erase进行删除: n = target.size(); str = str.erase(pos,n); //从pos这个位置开始,删除n个...
  • C++string字符串删除其中的字符

    千次阅读 2021-04-07 11:18:12
    采用#include<algorithm>中的erase()函数 string str = "[1, 2, 3, 4, 5]"; erase(pos, n):删除从下标pos...str.erase(0) // 删除整个字符串 erase(start, end):删除从start到end之间的所有字符(start和en
  • C++ string 简单截取字符串使用

    千次阅读 2022-01-11 17:14:26
    string.substr()截取字符串
  • C++ string替换指定字符

    千次阅读 2020-09-03 19:56:08
    string自带replace()方法并没有实现这一功能,需要借助<algorithm>中的replace()。 比如,我在资源管理器地址栏直接赋值地址后,输入给某一string变量,程序中使用这一地址前,首先需要将反斜杠替换为正斜杠...
  • C++中要从string删除所有某个特定字符, 可用如下代码 str.erase(std::remove(str.begin(), str.end(), 'a'), str.end()); 其中, remove来自&lt;algorithm&gt;, 它的签名是 template &...
  • C++ string删除部分字符

    千次阅读 2022-01-17 09:39:06
    std::string::erase 官网例子如下 // string::erase #include <iostream> #include <string> int main () { std::string str ("This is an example sentence."); std::cout << str <<...
  • c++ string字符串查找

    万次阅读 多人点赞 2020-09-02 11:57:23
    find() 函数用于在 string 字符串中查找子字符串出现的位置,它其中的两种原型为: size_t find (const string& str, size_t pos = 0) const; size_t find (const char* s, size_t pos = 0) const; 第一个参数...
  • c++string截取字符串

    万次阅读 多人点赞 2021-05-24 19:06:16
    C++string类提供了大量的字符串操作函数,提取字符串的一部分,可采用substr函数实现: 头文件: #include <string> //注意没有.h string.h是C的标准字符串函数数,c++中一般起名为ctring. 而string头文件是...
  • c++ string字符串详解

    千次阅读 2022-03-24 17:09:57
    string字符串 ;string的创建和初始化 ; string的读写 ;string的基本操作; string的比较大小 ; string的连接。
  • C++ 删除指定字符串中的某些字符

    万次阅读 2021-06-21 22:35:56
    C++ 删除指定字符串中的某些字符 题目 输入URL前缀和后缀,删除字符串中的“,/”,把URL拼接在一起且后边有“/”。 用例: 输入:/abhdsjvf/,/afsggfd 输出:/abhdsjvf/afsggfd/ 程序实现: #include<...
  • 从cmd获取到的字符串多了\r\r\n,想把其替换掉,经查string.replace并不具备将字符串中,某个字符串,所有都替换功能,分析原因可能是情况太多了,例如: 此博客自己写的replace_all 用此函数,测试普通字符串,无...
  • 详解C++ string常用截取字符串方法

    千次阅读 2021-05-20 04:03:55
    string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求:find(string strSub, npos);find_last_of(string strSub, npos);其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子字符串...
  • C++string提供了replace方法,实现字符串的替换。但是涉及到将string串中的某个字符替换成新的字符的功能,在提供的replace方法中没有实现。 在 #include<algorithm> 中也有一个replace方法,它可以实现我们...
  • C++ stringC++字符串)详解

    千次阅读 2021-05-19 18:38:44
    因此,C++ 标准模板库设计了 string 数据类型,专门用于字符串处理。string 类型的变量就是用来存放字符串的,也叫“string对象”。string 并不是 C++ 的基本数据类型,它是 C++ 标准模板库中的一个“类”。关于这...
  • c++string替换字符串中某段字符

    千次阅读 2022-03-31 21:53:31
    string str="ab3[a]"; str=str.replace(0,3,"c"); cout<<str<<endl; res: c[a]
  • C++删除字符串中的指定字符

    千次阅读 2022-03-01 20:20:07
    C++删除字符串中的指定字符
  • C++ string 替换指定字符

    万次阅读 多人点赞 2018-09-08 19:00:26
    C++string提供了replace方法来实现字符串的替换,但是有时候我们想要实现类似JAVA中的替换功能——将string中的某个字符a全部替换成新的字符b,这个功能在提供的replace方法中并没有实现。 不过只要再深入了解...
  • C++ string类型字符串添加字符或新的字符串

    万次阅读 多人点赞 2020-10-26 16:56:20
    注意:该函数只能在字符串后面添加字符; e.g. str1.push_back('y'); 2. + str = str + 'a' str = str + "abc" 这种赋值方式,效率比较低 str += 'a' str += "abc" 直接对str操作,效率高 3. append()函数 3.1 直接...
  • C++分割字符串 四种方法
  • C++ string常用截取字符串方法

    万次阅读 2018-08-28 18:15:18
    string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求: find(string strSub, npos); find_last_of(string strSub, npos); 其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子...
  • C++string 截取字符串

    千次阅读 2019-08-01 10:35:57
    1 取字符串的前i个字符 str=str.Substring(0,i); // orstr=str.Remove(i,str.Length-i); 2 去掉字符串的前i个字符: str=str.Remove(0,i); // or str=str.Substring(i); 3 从右边开始取...
  • c++ stringstream分割字符串

    千次阅读 2018-04-24 19:42:54
    我们都知道stringstream可以方便的进行数据类型转换,其实还有一个妙用就是按空格分割字符串。#include&lt;iostream&gt; #include&lt;cstring&gt; #include&lt;cstdio&gt; #include&lt;...
  • C++ string详解,C++字符串详解

    千次阅读 2021-05-03 23:47:25
    C++ 大大增强了对字符串的支持,除了可以使用C风格的字符串,还可以使用内置的 string 类。string 类处理起字符串来会方便很多,完全可以代替C语言中的字符数组或字符串指针。 stringC++ 中常用的一个类,它非常...
  • C++ 删除一个字符串中的指定字符

    千次阅读 2021-11-07 22:12:48
    C++ 删除一个字符串中的指定字符 PS:一个数字是以xxx,yyy,zzz的字符串形式存储的,将逗号消去并转化为整数输出 方法一:char数组,即定义时s1定义为 char s1[20]的形式; //删除输入字符串中的逗号,并构建新串 ...
  • C++string方法】字符串反转

    千次阅读 2020-10-23 20:29:41
    题目要求: 输入一个字符串,把其中的字符按逆序输出。如输入LIGHT,输出THGIL。要求使用 string 方法。 ——谭浩强的《C++面向对象程序设计》第1章习题第11小题

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 396,480
精华内容 158,592
关键字:

c++string删除指定字符串