使用迭代器寻找和删除 string 对象中所有的大写字符。

OpenDataLab 大模型训练数据集下载记录 大模型 训练数据集 阅读详情

C++ Primer  习题9.35给出的答案如下:

#include<iostream>
#include<cctype>
#include<string>
using namespace std;
int main()
{string str = "This IS A  Example";
 for(string::iterator iter = str.begin();
  iter != str.end();++iter){
  if(isupper(*iter)){
   str.erase(iter);
   --iter;
  } 
 }
 for(string::iterator iter = str.begin();
  iter != str.end();++iter)
  cout<<*iter<<" ";
 return 0;
}

以上运行报错。

解:

由于第一个字母为T,--iter后
--iter--ite,,r则超出迭代范围了。

改成string str = "this is A exaMple";

如下,则可通过

#include<iostream>
#include<cctype>
#include<string>
using namespace std;
int main()
{
	string str = "this is A exaMple";
	for(string::iterator iter = str.begin();
		iter != str.end();++iter){
		if(isupper(*iter)){
			str.erase(iter);
			--iter;
		}	
	}
	for(string::iterator iter = str.begin();
		iter != str.end();++iter)
		cout<<*iter<<" ";
	return 0;
}


 

Python爬虫教程:抓取地方政府网站的公开文件与政策信息 Web爬虫是指一种自动化脚本,用于模拟人类浏览器访问网页、提取网页内容的数据抓取工具。发送请求到目标网页;获取网页内容;解析网页内容,提取所需数据;将数据保存或进一步处理。爬虫可以抓取各种形式的数据,如文本、图片、文件等。本教程将重点展示如何抓取地方政府网站上公开的政策文件、公告等信息。许多政府网站都会采取一定的反爬虫措施,防止大量数据被爬取。IP封锁:如果短时间内大量请求来自同一IP,可能会被封锁。验证码:一些网站会使用验证码来验证访问者是否为机器人。动态加载。 阅读详情

相关推荐

数据库:关系运算整理大全(包括关系代数、元组关系演算、域关系演算)

数据库关系运算: 1. 关系代数(基本关系代数、附加关系代数、扩展关系代数) 2. 元组关系演算 3. 域关系演算

ysji's blog 2万+

如何用迭代器去除集合中的重复字符串元素

代码如下:package Xingqisi; import java.util.ArrayList; import java.util.Iterator; public class Demo5 { public static void main(String[] args) { ArrayList&lt;String&gt; list = new ArrayList&lt;&gt;()...

Nickszs的博客 2164

Qt开发中彻底解决中文乱码问题

中文乱码问题主要源于编码不一致需要同时设置控制台和Qt应用程序的编码确保项目文件和环境配置的编码一致文件操作时注意指定正确的编码。

qq_53832058的博客 3405

c++中如何使用迭代器将字符串向量中的小写字符变为大写字符

#include&lt;iostream&gt; #include&lt;vector&gt; #include&lt;string&gt; using namespace std; int main() { string t; vector&lt;string&gt; text; //这里你输入的时候可能会永远循环其实只是方法不对 //如果是Windows系统下的话先按回...

pym20180401的博客 802

保姆级教程:用GD32F470的EXMC Bank0 Region0与FPGA实现16位并行通信(附完整代码)

本文详细介绍了如何利用GD32F470的EXMC Bank0 Region0与FPGA实现16位并行通信,涵盖硬件连接、寄存器配置、时序优化及FPGA接口设计等关键步骤。通过实例代码和调试技巧,帮助开发者快速掌握高效数据交互技术,提升嵌入式系统设计能力。

weixin_26918763的博客 226

S32K3双核实战:手把手教你用EB配置CAN与CANFD(附中断/轮询代码对比)

本文详细解析了NXP S32K3双核处理器在CAN/CANFD通信开发中的实战应用。通过Elektrobit配置工具链,从双核通信架构设计到EB tresos Studio配置全流程,再到中断与轮询模式的代码实现对比,全面指导开发者优化S32K3 FlexCAN模块性能,提升汽车电子系统的通信效率与可靠性。

weixin_30955617的博客 440

java 字符串中的大写变小写,小写变大写,数字不变,其他就变成*

 public class Test {        public static void main(String[] args) {             String str = "12ADLFLffgl443";             StringBuffer sb = new StringBuffer();             int i;            ...

github_as的博客 6889

Android手机本地语音转文字实战:用FunASR+ONNX Runtime打造离线ASR应用(附模型下载)

本文详细介绍了如何在Android应用中集成FunASR和ONNX Runtime,构建高性能的离线语音识别系统。通过模型选择、工程化集成和性能调优等实战技巧,开发者可以实现本地语音转文字功能,有效保护用户隐私并提升响应速度。

weixin_29046611的博客 266

字符串——删除字符串中的大写字母

将一个字符串中的大写字母删去,在现有知识范围,有以下几种方法①遍历字符串,找到大写字母,将该大写字母后边的元素(包括\0)全部向前移一位,可将该大写字母删去...

qq2071114140的博客 1万+

39、FIPA ACL:多代理系统中的标准化通信

本文详细介绍了FIPA ACL(Agent Communication Language)的基本概念、言语行为理论基础以及其在多代理系统(MAS)中的应用。文章涵盖了FIPA ACL的消息格式、信息交流流程、实现与优化方法,并通过智能调度系统的实例展示了其实际应用效果。此外,还探讨了FIPA ACL面临的挑战及未来发展方向,如通信延迟优化、本体简化、安全性增强等。

k8s6orchestrator的博客 381

【100%通过率】华为od统一考试B卷【查找接口成功率最优时间段】Python 实现

服务之间交换的接口成功率作为服务调用关键质量特性,某个时间段内的接口失败率使用一个数组表示,数组中每个元素都是单位时间内失败率数值,数组中的数值为0~100的整数, 给定一个数值(minAverageLost)表示某个时间段内平均失败率容忍值,即平均失败率小于等于minAverageLost,找出数组中最长时间段,如果未找到则直接返回NULL。

MISAYAONE的博客 5871

c++ string erase删除字符的三种使用方式

(参考自 c++ primer plus 第六版 模版类 string) string中提供...

大西瓜不甜的博客 2626

生成式AI;语义通信技术;生成式AI辅助的云边协同算法及其可解释性

生成式AI 语义通信技术 生成式AI辅助的云边协同算法及其可解释性 一、端到端设计的物理层内生智能 二、生成式语义通信 三、生成式数字孪生网络 四、生成式AI辅助的云边协同算法及其可解释性 五、未来可能的研究方向

ZhangJiqun&191cm&85kg 430

C++——string之迭代器

一、string构造 void test(){ string str1; //默认构造 string str4("123456"); //C风格字符串创建 string str5 = "123456"; //单参构造隐式类型转换 string str8("12345678", 5); //以字符串前n个字符创建对象,内容为"12345" string str9(10, 'a'); //用n个字符创建对象,内容为10个字符a string str2(

luzhaoxi的博客 8631

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【C++ STL】string类-----迭代器(什么是迭代器?迭代器分哪几类?迭代器的接口如何使用?)

在C++中,标准模板库(Standard Template Library,STL)是一组强大的通用模板类和函数,它为我们提供了很多供使用的数据结构和算法。其中,string类是STL中一个非常有用的类,用于处理字符串。在使用string类时,我们经常需要遍历字符串的每个字符或者进行某些特定的操作。而实现遍历和操作的关键就是使用string迭代器。本文将详细介绍string迭代器的使用方法及其在处理字符串时的重要作用。

weixin_45031801的博客 2702

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

C++ String 的erase、remove和pop_back删除方法

一. erase 删除 erase 方法原型 1. basic_string & erase(size_type pos=0, size_type n=npos); 从给定起始位置pos处开始删除, 要删除字符的长度为n, 返回值修改后的string对象引用。 通俗讲:erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符。 #include<iostream> #include<string> using na..

weixin_42258743的博客 3万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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

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

weixin_39947351的博客 2466

c++ string的erase删除方法

之前不是很清楚c++中string如何删除元素,现在记录一下。 string中提供的成员函数可以用来删除字符串中的字符,这里主要介绍erase方法 erase方法原型 1. basic_string &amp;amp;amp;amp; erase(size_type pos=0, size_type n=npos); 即从给定起始位置pos处开始删除, 要删除字符的长度为n, 返回值修改后的string对象引...

_icrazy_的博客 20万+

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

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

developerzwq的博客 1368

C++ 中 string 的常用用法和 迭代器详解

string的常用用法 #include<iostream> #include<string> using namespace std; void String1() { 1. 字符串的初始化和拷贝构造 string s1("hello"); //初始化s1 string s2 = s1; //拷贝构造s2 string s3(s2, 2); // 从...

m1059247324的博客 1787

【C++】STL简介 及 string的使用详解

STL简介 及 string的使用讲解

m0_70980326的博客 4007

string类的使用介绍

string类成员函数、非成员函数的使用介绍

2302_76314368的博客 1212

【C++】string的使用

讲解了C++中string的常用接口,以及string头文件中一些常见函数的使用,学会提前拓宽容量优化代码效率✨✨

Lin_Alpaca的博客 2792

探索C++标准模板库(STL):String接口的底层实现(下篇)

在C++的面向对象编程中,对象模型是理解语言行为的核心。无论是类的成员函数如何访问数据,还是资源管理如何自动化,其底层机制均围绕两个关键概念展开:this指针与六大默认成员函数。它们如同对象的“隐形守护者”,默默支撑着代码的健壮性与效率。本文将从技术底层出发,结合内存布局、编译器行为与实际案例,深入探讨!

月亮永悬不落,剑指巅峰 2485

C++主流string的使用

本文详细介绍了C++中string类的核心操作,主要包含以下内容:1.多种构造函数的使用方法;2.operator[]运算符重载实现字符访问;3.正向/反向迭代器的使用;4.auto和范围for语法糖的应用;5.size/length/capacity等容量相关函数;6.push_back/insert等插入操作;7.append字符串拼接;8.pop_back/erase删除操作;9.find查找功能;10.compare字符串比较方法。文章通过具体示例代码演示了string类的各种常用操作,帮助开发者更

jingfeng514的博客 1986

【STL】string的介绍以及使用

是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。string();//构造一个空字符串//使用一个已经存在的对象拷贝构造给另一个对象//分割字符串//使用常量字符串实例化一个对象//从第一个元素开始取得向后的元素,限制个数//复制C字符,复制n个//实例化一个空字符对象//使用常字符串给对象初始化,对象实例化//用一个已经存在的对象给另外一个对象拷贝构造//分割字符串。

m0_73634434的博客 1705
上一篇: 与数组联合使用的指针---迭代器
下一篇: vector<char> 容器初始化 string 对象
p_m_notes
博客等级 码龄14年 3粉丝 22原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值