C++ 一行代码删除string字符串中的“\n“、“\r“、“\t“ 和 所有空白字符

2023-10-31

这篇博客记录如何删除C++字符串中的回车、换行、制表符和所有的空白字符!

方式一

示例:

std::string str = "\n\r\t   abc   \n\t\r   cba   \r\t\n";
std::cout << str << std::endl;

运行截图:

使用remove_if进行移除:

#include <cctype>
#include <algorithm>


std::string str = "\n\r\t   abc   \n\t\r   cba   \r\t\n";
str.erase(std::remove_if(str.begin(), str.end(), ::isspace), str.end());
std::cout << str << std::endl;

::isspace 标识空白字符 

运行截图:

效果明显看得出来! 


方式二

#include <iostream>
#include <string>
#include <algorithm>
#include <locale>
#include <functional>

std::string s = "   \n\r\t   Hello \r\t\n\n   World   \n\r\t    ";
s.erase(std::remove_if(s.begin(),
		s.end(),
		std::bind(std::isspace<char>, std::placeholders::_1, std::locale::classic())),
		s.end());

std::cout << s << std::endl;

运行截图: 

 效果明显看得出来! 


方式三

#include <iostream>
#include <string>
#include <algorithm>


std::string s = "   \n\r\t   How \r\t\n\n   much   \n\r\t    ";
s.erase(std::remove_if(s.begin(), s.end(),
		[](char &c) {
			return std::isspace<char>(c, std::locale::classic());
		}),
		s.end());

std::cout << s << std::endl;

运行截图: 

  效果明显看得出来! 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 一行代码删除string字符串中的“\n“、“\r“、“\t“ 和 所有空白字符 的相关文章

随机推荐

  • CPU虚拟化

    CPU虚拟化 中央处理器 CPU 是计算机的主要设备之一 是计算机中的核心配件 在计算机体系结构中 CPU是对计算机的所有硬件资源 如存储器 输入输出单元 进行控制调配 执行通用运算的核心硬件单元 计算机系统中所有软件层的操作 最终都将通过
  • @ControllerAdvice 的介绍及三种用法

    学习下 ControllerAdvice 首先 ControllerAdvice本质上是一个 Component 因此也会被当成组建扫描 加了 ControllerAdvice的类为那些声明了 ExceptionHandler InitBi
  • IP地址分类(A类 B类 C类 D类 E类)

    IP地址由四段组成 每个字段是一个字节 8位 最大值是255 IP地址由两部分组成 即网络地址和主机地址 网络地址表示其属于互联网的哪一个网络 主机地址表示其属于该网络中的哪一台主机 二者是主从关系 IP地址的四大类型标识的是网络中的某台主
  • 如何完美解答面试问题——HashMap的扩容机制(JDK1.7)

    大家好 我是孤焰 今天要谈一谈在面试过程中几乎被每个面试官都会提到的一个问题 HashMap的扩容机制是什么 由于我也是刚刚学习编程的小白 所以此篇博文将参考了多篇博文 最后总结而成 此篇博文仅介绍JDK1 8版本之前的HashMap扩容机
  • Unity3D 动画操作

    导入模型 https blog csdn net shenqiankk article details 100064940 方式一 Animator animation SetBool 状态转换的参数 true false 在创建对象前 先
  • 【计算机网络】数据链路层(一):数据帧和物理寻址

    数据链路层是物理层的上层 物理层是把电脑连接起来的物理手段 它主要规定了网络的一些电气属性 其作用是负责传送0和1的电信号 数据链路层位于物理层的上层 简单的阐述它的作用就是确定0和1的分组方式 下面我们就详细的介绍数据链路层 上面是TCP
  • 阿里云DNS 新增云上线路的智能解析功能

    简介 企业在云上部署单元化架构或内部服务链路时 需要考虑让数据 单元 离用户更近 避免跨单元获取数据 以此来满足自身低延时的诉求 阿里云DNS 新增基于云上链路的调度功能 进一步优化DNS智能解析 给云上用户提供更精准的流量调度能力 传统解
  • 基于STM32串口通信的ESP8266WiFi模块使用

    掌握esp8266的使用可以实现真正的万物物联 esp8266wifi通信对于MCU而言归结到底还是串口或spi通信 因此 掌握RS232通信协议 SPI通信协议以及esp8266的配置就可以基本搞定WiFi模块的使用 参考文章 1 ESP
  • 安全帽佩戴检测算法模型训练详细流程

    一 任务描述 实际施工现场需要对每个进出的人员进行安全帽监测 对未佩戴安全帽的人员平台进行风险告警 通知工作人员并记录下来 主要包括三类目标物体 头盔 helmet 人 person 和人头 head 二 实现流程 1 数据集 直接用的网络
  • C++I/O输入输出

    1 流和缓冲区 我们通常说的流 可以理解为从一个地方流向另一个地方 在C 中的I O是指的输入 输出端口 那么I O流就可以简单的理解为在外部设备和内存之间的数据流动 直白的讲 流实际上是一个字节序列 即 字节流 而C 程序把输入输出看做字
  • WIN11修改右键菜单默认展开

    想要展开右键菜单 像Windows 10那样 首先打开Terminal写入注册表项 展开 reg exe add HKCU Software Classes CLSID 86ca1aa0 34aa 4e8b a509 50c905bae2a
  • JAVA中的数据结构和底层原理

    JAVA中的数据结构简述 JAVA中常用的数据结构主要有这样几种分类 List 可存储相同的值 确切讲是a equals b 时 二者都可存储 我们会挑选适宜连续存储的ArrayList和链式存储的LinkedList进行介绍 Set 不可
  • 数据结构-leetcode-环形链表

    解题图解 代码如下 bool hasCycle struct ListNode head struct ListNode fast head 在这里fast是快指针 head作为low指针 因为这个题不需要做修改也只需返回true或fals
  • Web API

    文章目录 Web API基本认知 获取DOM元素 根据Css选择器来获取DOM元素 其它获取DOM元素方法 操作元素内容 操作元素属性 常用属性 元素样式属性 表单元素属性 定时器 间歇函数 定时器 延时函数 事件监听 事件类型 事件对象
  • RV1126_RV1109从设备树中读取native-mode节点信息流程

    1 video of display timing c struct display timings of get display timings 在该函数中获取native mode节点信息 返回值就是获取到的timing 下步查看谁调用
  • 时序预测

    时序预测 MATLAB实现基于PSO BiLSTM BiLSTM时间序列预测对比 目录 时序预测 MATLAB实现基于PSO BiLSTM BiLSTM时间序列预测对比 效果一览 基本描述 程序设计 参考资料 效果一览 基本描述 MATLA
  • Shiro实战学习笔记(4)- 整合springboot(1)

    1 shiro整合spring boot gt
  • 恒玄BES2300XX系列常用接口(2)

    hal cmu sys reboot 复位 hal norflash disable protection HAL NORFLASH ID 0 flash闪存禁用保护 define ANC MODE SWITCH WITHOUT FADE
  • vue脚手架、npm、node

    vue cli vue脚手架 cli gt command line interface 命令行界面 vue脚手架可以快速 安全的构建vue项目 vue cli 脚手架 需要使用npm cnpm包管理工具进行安装 npm npm是一种js语
  • C++ 一行代码删除string字符串中的“\n“、“\r“、“\t“ 和 所有空白字符

    这篇博客记录如何删除C 字符串中的回车 换行 制表符和所有的空白字符 方式一 示例 std string str n r t abc n t r cba r t n std cout lt lt str lt lt std endl 运行截