C++中删除string对象中的某个字符

c++ 字符串中删除指定的字符 string没有直接的删除指定字符的方法,可以利用find和erase或者substr实现。 string str; string target; int pos = str.find(target); n = target.size(); str = str.erase(pos,n); 若包含多个特定字符,则循环删除即可。注意find的查找成功返回的是指定元素的第一个位置,失败则返回-1... 阅读详情
方法一:
获取符合删除条件的字符的迭代器,并将迭代器存入vector。倒序遍历vector,erase掉符合条件的字符。
string eraseCharacter(string &str)
{
    vector<string::iterator> vect;
    for(string::iterator iter = str.begin(); iter != str.end(); ++iter)
    {
        if(ispunct(*iter))
        {
            vect.push_back(iter);
        }
    }
    for(vector<string::iterator>::iterator iter = vect.end() - 1; iter != vect.begin() - 1; --iter)
    {
        str.erase(*iter);
    }
    return str;
}
方法二:
string eraseCharacter(string &str)
{
    string::size_type index = 0;
    while(index != str.size())
    {
        if(ispunct(str[index]))
        {
            str.erase(index, 1);
            --index;
        }
        ++index;
    }
    return str;
}

方法三:

string eraseCharacter(string &str)
{
    for(string::size_type i = 0; i != str.size(); ++i)
    {
        if(ispunct(str[i]))
        {
            str.erase(i, 1);
            --i;
        }
    }
    return str;
}


C++ STL笔记二:string容器;string构造函数;string赋值函数;string拼接;string查找、替换;string比较;string单个字符存取;string插入、删除、截取 本质: string是C++风格的字符串,而string本质上是一个类。 string和char*区别: char*是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 特点: string类内部封装了很多成员方法。 例如:查找find,拷贝copy,删除delete,替换replace,插入insert。 string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责。 string的构造函数: 构造. 阅读详情

相关推荐

c++ string 删除第一个字符_字符串操作的全面总结

字符串操作看似简单,其实非常重要,不注意的话,经常出现代码运行结果和自己想要的不一致,甚至崩溃。本文总结了一些构建string对象方法、修改string对象的方法、string类型的操作函数、string类型的查找、string对象的比较。 1 构建string对象方法 首先,为了在我们的程序中使用string类型,我们必须包含头文件 。如下: #include 声明一个字符串变量很简单: string Str; 这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参

我写写哈的博客 1847

c++ 字符串去除指定的字符

c++ 字符串去除指定的字符

淘气の小狼人的博客 1万+

数字摄影与摄像中的图像信号处理器(ISP):流程与经典算法详解

图像信号处理器(Image Signal Processor, ISP)是现代数字成像系统(如智能手机、数码相机、网络摄像头等)中的核心组件,扮演着将图像传感器(如CMOS或CCD)捕获的原始光电信号转换为高质量、可供观看或进一步处理的数字图像的关键角色。在数字摄影和摄像的整个链路中,光线首先通过镜头(Lens)聚焦到图像传感器上,传感器将光信号转换为模拟电信号,随后经过模数转换(A/D转换)变为原始的数字图像信号。

qq_44682523的博客 3729

C++-容器-string:string删除指定字符【erase()】【clear():删除字符串中所有字符】

iterator erase(iterator p):删除字符串中p所指的字符iterator erase(iterator first, iterator last):删除字符串中迭代器区间 [first, last) 上所有字符string& erase(size_t pos, size_t len):删除字符串中从索引位置 pos 开始的 len 个字符void clear():删除字符串中所有字符

u013250861的博客 3102

银河麒麟V10离线环境下的Python项目迁移:从Windows依赖到ARM架构适配

本文详细介绍了在银河麒麟V10离线环境下将Python项目从Windows迁移到ARM架构的完整流程。重点讲解了离线安装pip、virtualenv等基础工具的方法,以及如何解决ARM架构兼容性问题,确保项目依赖正确迁移。文章还提供了常见问题解决方案和性能优化建议,帮助开发者顺利完成国产化平台适配工作。

weixin_42639246的博客 423

MATLAB数据可视化:pcolor函数从入门到精通(附colormap调色秘籍)

本文深入解析MATLAB中pcolor函数的数据可视化应用,从核心机制、坐标网格指定到常见陷阱规避。重点揭秘colormap调色秘籍,涵盖内置色系选用原则、个性化定制方法及高级渲染技巧,助你创作出信息准确、视觉出色的专业图表,精通从数据到出版级图表的全流程。

kafka6courier的博客 247

【C++】string类

C++大大增强了对字符串的支持,除了可以使用C风格的字符串,还可以使用内置的 string 类。string 类处理起字符串来会方便很多,完全可以代替C语言中的字符数组或字符串指针。

Jacky_Feng的博客 6531

零基础入门转录组数据可视化——绘制差异小提琴图(常规)

转录组数据可视化之一,先介绍相关基础知识,其次用实际案例为基础,由浅入深介绍差异小提琴图绘制的全过程,包括内容有相关代码和截屏。

呆猪儿的博客 637

【C++-String-删除指定字符】

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

weixin_58640355的博客 6160

微信小程序 - error_msg:net::ERR_CONNECTION_RESET“(“errno“:600001,“errMsg“:“uploadFile:fail errcode:-101)

"errno":600001,"errMsg":"uploadFile:fail errcode:-101 cronet_error_code:-101 error_msg:net::ERR_CONNECTION_RESET"微信小程序,微信小程序wx.uploadFile报错,uniapp微信小程序uni.uploadFile上传文件报错,微信小程序调用wx.uploadFile返回错误ERR_CONNECTION_RESET,如何解决这个问题,上传图片出现报错,小程序上传视频报错,上传文件出现报错,如何

🏆 前端领域优质创作者 5415

HFSS实战项目——高带外抑制特性SIW带通滤波器

本文对单级滤波器和双级滤波器的设计、工作原理及仿真结果进行了详细分析,并验证了双级SIW带通滤波器在性能方面的优越性,为微波通信系统中滤波器的设计和应用提供了重要参考。

2401_87464239的博客 1816

C/C++字符串基础,类型,使用方法大全(字符,字符串,字符数组,字符串函数,C++ string)

文章目录一、前言二、C/C++字符串1.字符字符的表示字符的输出字符与整数2.字符和字符串编码源文件使用什么编码窄字符串使用什么编码总结3.ASCII编码了解对控制字符的解释NUL (0)SOH (1)STX (2) 和 ETX (3)BEL (7)BS (8)HT (9)LF (10)VT (11)FF (12)CR (13)SO (14) 和 SI (15)DLE (16)DC1 (17)DC3 (19)EM (25)FS(28)GS(29)RS(30)US(31)DEL (127)4.C语言转义字符5

qq_41854911的博客 4417

2026华为OD机试(JavaScript)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,JavaScript实现。

MISAYAONE的博客 8万+

c++ string 删除第一个字符_人见人爱的string容器

内容思维导图:一、string基本概念:1、本质string是c++风格的字符串,而string本质上是一个类。2、string和char *的区别-char *是一个char类型的指针类型-string是一个类,类内部封装了char*,是一个char型的容器。string类内部封装了很多成员函数,比如:查找find,拷贝copy,删除delete,替换replace,插入insert;...

weixin_35012431的博客 2156

基于fme和python-docx第三方库批量更新不动产调查表

最近应朋友需要批量更新在不动产成果中提交的各种word报表中的指定数据,根据初步的了解,我做了一个基于fme软件和python-docx第三方库进行一个批量的更新方案。

weixin_43229258的博客 1240

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C++ string类相关函数

1、简介   string 类是 STL 中 basic_string 模板实例化得到的模板类。其定义如下: typedef basic_string <char> string;   basic_string 此处可以不必深究。   string 类的成员函数有很多,同一个名字的函数也常会有五六个重载的版本。这里仅对常用成员函数按功能进行分类,并直接给出应用的例子,通过例子,可以基本掌握这些成员函数的用法。 2、函数 2.1 构造函数   string 类有多个构造函数,用法示例如下: st

小小何先生的学习之旅 3313

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C++ string的基本用法

1. 构造函数 string 类有多个构造函数,用法示例如下: string s1(); // si = "" string s2("Hello"); // s2 = "Hello" string s3(4, 'K'); // s3 = "KKKK" string s4("12345", 1, 3); //s4 = "234",即 "12345" 的从下标 ...

Tizzi的博客 2271

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

C++ string的用法和例子

使用场合: string是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行操作,也可以通过文件等手段进行操作。同时C++的算法库对string也有着很好的支持,而且string还和c语言的字符串之间有着良好的接口。虽然也有一些弊端,但是瑕不掩瑜。 其中使用的代码多数都是来自cpp官网,因为例子非常全。 声明和初始化方法: 想使用string首先要在头文件...

@fei 19万+

string

STL 一、string  C++中提供了专门的头文件string(注意不是cstring),来支持string类型,string类定义隐藏了字符串的数组性质,让我们可以像处理普通变量那样处理字符串。 string对象和宁符数组之间的主要区别是:可以将 string对象声明为简单变量,而不是数组。 二、创建 string 对象 string str; //创建一个空的 string对象  string类的设计允许程序自动处理 string的大小,因此,上述代码创建了一个长度为0的 string对象,但.

ZhuRanCheng的博客 970

c++ string类的操作函数总结

二、标准的C++string类 string类在很多地方改动了c字符串。首先,在创建数组时不必再为它的大小是否能够容纳字符串变量而担心,因为string类接管了所有的内存管理任务。其次,string类允许使用重载运算符,因此可以使用(+、=、==、)等运算符操作字符串对象:s3=s1+s2; 1.string对象的定义: 1)string  s(“man”);   2)string s=”m

wumingming_2008的专栏 855

C++ string 类操作(不全)

string 类是 STL 中 basic_string 模板实例化得到的模板类。其定义如下: typedef basic_string <char> string; 1. 构造函数 string 类有多个构造函数,用法示例如下: string s1(); // si = "" string s2("Hello"); // s2 = "Hello" string s3(...

qq_43613919的博客 260

C++ string类

C++ string类 string 的初始化 ​ 使用 string 类要导入头文件 #include <string>,string 类是模板类 typedef basic_string<char> string; 从 basic_string 类模板实例化生成的。string 类有多种构造函数,string 对象的几种初始化方式如下 string s1("Hello"); string month = "March"; string s2(8,'x'); // 生成具有8个x

王清欢的博客 9671

C++ string类 字符串长度、链接、比较、截取、查找、删除、插入、迭代器、流对象转换

string 类是中 basic_string 模板实例化得到的模板类。其定义如下:basic_string 此处可以不必深究。string 类的成员函数有很多,同一个名字的函数也常会有五六个重载的版本。篇幅所限,不能将这些原型一一列出并加以解释。这里仅对常用成员函数按功能进行分类,并直接给出应用的例子,通过例子,读者可以基本掌握这些成员函数的用法。要想更深入地了解 string 类,还要阅读的参考手册或编译器自带的联机资料。对于前面介绍过的字符串处理的内容,这里不再重复说明。

qq_26309545的博客 838

string--C++ STL 学习

C++STL提供了string基本字符系列容器来处理字符串,可以把string理解为字符串类,提供了添加删除\替换\查找和比较等丰富的方法. 使用string容器,需要包含头文件声明#include 函数名 描述 b...

chouxiu2594的博客 161

C++的string类

建议看C语言中文网的 构造函数 string s1(); // si = "" string s2("Hello"); // s2 = "Hello" string s3(4, 'K'); // s3 = "KKKK" string s4("12345", 1, 3); //s4 = "234",即 "12345" 的从下标 1 开始,长度为 3 的子串 string对象赋值 可以用 char* 类型的变量、常量,以及 char 类型的变量、常量对 string 对象进行赋值。例如: string

luai_l的博客 278

C++string类函数用法详解

C++string类常用函数(参考标准库整理) string(const char *s); //创建一个string对象,并初始化字符串为指针 s 指向的字符串 string(const char *s, int n); //创建一个string对象,并初始化字符串为指针 s 指向的前 n 个字符 string(const string &str); //创建一个 string 对象,并初始化字符串为 str

天道酬勤 1522
developerzwq
博客等级 码龄11年 0粉丝 1原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值