C++中string erase函数的使用

erase函数的原型如下:
(1)string& erase ( size_t pos = 0, size_t n = npos );
(2)iterator erase ( iterator position );
(3)iterator erase ( iterator first, iterator last );
也就是说有三种用法:
(1)erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符
(2)erase(position);删除position处的一个字符(position是个string类型的迭代器)
(3)erase(first,last);删除从first到last之间的字符(first和last都是迭代器)
下面给你一个例子:

#include <iostream>
#include <string>
using namespace std;

int main ()
{
  string str ("This is an example phrase.");
  string::iterator it;

  // 第(1)种用法
  str.erase (10,8);
  cout << str << endl;        // "This is an phrase."

  // 第(2)种用法
  it=str.begin()+9;
  str.erase (it);
  cout << str << endl;        // "This is a phrase."

  // 第(3)种用法
  str.erase (str.begin()+5, str.end()-7);
  cout << str << endl;        // "This phrase."
  return 0;
}
时间: 2024-12-22 08:38:12

C++中string erase函数的使用的相关文章

java中string.trim()函数的使用

java中string.trim()函数的的作用是去掉字符串开头和结尾的空格,防止不必要的空格导致的错误. public static void main(String arg[]){ String a=" abc"; String b="abc"; System.out.println(b.equals(a)); //不会相同,因为a中有空格 a=a.trim();//去掉字符串中的空格 System.out.println(a.equals(b)); } 控制台

Scala中String.split函数

今天在写一个统计用户信息的程序时出现了bug,导致统计的结果根真实值有很大的差距.经过仔细检查以后,我发现时对scala中的split函数的理解不够透彻导致的.下面我讲详细解释split的参数及用法. 因为scala中的String复用了Java的String,因此这也是Java中String.split的用法. split函数主要有两种参数形式: def split(arg0: String): Array[String] def split(arg0: String, arg1: Int):

字符串的查找删除---C++中string.find()函数与string::npos

给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串 输入: 输入只有一组数据 输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止 输出: 删除输入的短字符串(不区分大小写)并去掉空格 #include <stdio.h> #include <string> #include <iostream> #include <ctype.h> using namespace std; int main() { char st

C++ 中string.find() 函数的用法总结(转载)

#include<stdio.h> #include<iostream> using namespace std; void main() { ////find函数返回类型 size_typestring s("1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8ha9i");string flag;string::size_type position; //find 函数 返回jk 在s 中的下标位置 position = s.find(&quo

C++中string.find()函数,string.find_first_of函数与string::npos

查找字符串a是否包含子串b,不是用strA.find(strB) > 0而是strA.find(strB) != string:nposstring::size_type pos = strA.find(strB);if(pos != string::npos){}-------------------------------------------int idx = str.find("abc");if (idx == string::npos)...上述代码中,idx的类型被

java中string.trim()函数的作用

trim  /[tr?m] / 英文意思:整理,修理,修剪,整齐的 trim()的作用:去掉字符串首尾的空格. public static void main(String arg[]){ String a=" hello world "; String b="hello world"; System.out.println(b.equals(a)); a=a.trim();//去掉字符串首尾的空格 System.out.println(a.equals(b));

vector中的push_back函数的意思是什么

push_back   就是在vector的末尾插入一个元素, vector 中的erase()函数,从指定容器删除指定位置的元素或者某段范围内的元素,删除之后,返回值也是一个迭代器,指向最后一个删除元素的下一个元素, 出现的问题就是:迭代器变成了一个野指针,需要重新把迭代器的指针指向begin或者把返回的迭代器赋值给原来的迭代器,否则会报编译错误 iter = vetcor.erase(iter); or: vectore.erase(iter); iter=v1.begin;

c++中string的常用函数说明

string可以说是是字符数组的升级版,使用更加啊方便,不容易出错.本文对string的常用函数进行简单介绍,做到会用即可. string中的常用函数分为四类,即赋值,添加,比较和删除. 一.赋值 1.str="adf" 2.str.assign("adf");str.assign(str1);//将括号中的字符串赋值给str: str.assign(str1,1,4);//将str1的1-4赋值给strs: str.assign(5,'a');//将五个a赋值给s

string中常用的函数

发现在string在处理这符串是很好用,就找了一篇文章放在这里了.. 用 string来代替char * 数组,使用sort排序算法来排序,用unique 函数来去重1.Define           string s1 = "hello";           string s2 = "world";           string s3 = s1 + "," + s2 +"!\n";2.append