清除字符串string中的空格

article/2025/1/17 0:02:30

1、只清除字符串首尾的空格

方法一:调用string的成员函数来进行操作

#include<iostream>
#include<string>
#include<sstream>
using namespace std;int main()
{//str字符串首尾各有两个空格。string str = "  hello this is just a test.  ";int len1 = str.length();auto s1 = str.find_first_not_of(' ');string res = str.substr(s1);auto s2 = res.find_last_not_of(' ');// erase默认会从所给位置开始一直删除到字符串的末尾res.erase(s2+1);int len2 = res.length();cout << "len1= " << len1 << " \nlen2= " << len2 << " \nres= " << res << endl;system("pause");return 0;
}

在这里插入图片描述
方法二

#include<iostream>
#include<string>
#include<sstream>
using namespace std;int main()
{//str字符串首尾各有两个空格。string str = "  hello this is just a test.  ";int len1 = str.length();int i = 0;for (; i < len1; ++i){if (str[i] != ' ')break;}str.erase(0, i);i = str.length() - 1;for (; i >= 0; --i){if (str[i] != ' ')break;}str.erase(i + 1);int len2 = str.length();cout << "len1= " << len1 << " \nlen2= " << len2 << " \nstr= " << str << endl;system("pause");return 0;
}

在这里插入图片描述


2、清除字符串中所有的空格

方法一

#include<iostream>
#include<string>
#include<vector>
using namespace std;int main()
{//str字符串首尾各有两个空格。string str = "  hello this is just a test.  ";string tmp;vector<string> res;bool flag = false;for (int i = 0; i < str.length(); ++i){if (str[i] != ' '){tmp += str[i];flag = true;}else{if (flag){res.push_back(tmp);tmp.clear();flag = false;}}}for (auto &s : res)cout << s << endl;system("pause");return 0;
}

在这里插入图片描述
方法二:使用sstream

#include<iostream>
#include<string>
#include<sstream>
#include<vector>
using namespace std;int main()
{//str字符串首尾各有两个空格。string str = "  hello this is just a test.  ";string tmp;vector<string> res;istringstream iss(str);while (iss >> tmp){res.push_back(tmp);}for (auto &s : res)cout << s << endl;system("pause");return 0;
}

在这里插入图片描述


http://chatgpt.dhexx.cn/article/O18rRwMU.shtml

相关文章

string类型处理空格字符

引言&#xff1a; C提供了强大的string类型&#xff0c;但是其输入的时候还是要注意以下细节。 如果我们输入了一句话&#xff0c;里面包含有空格&#xff0c;str会被截断&#xff0c;空格后面的将不被保留。 #include <iostream> #include <queue> #include &l…

在前端页面的js中对string去空格

想要在前端页面&#xff08;jsp、html等&#xff09;的javascript中对string去空格&#xff1a;使用正则表达式 假设str为要去除空格的字符串: <script >去除所有空格: str str.replace(/\s/g,""); 去除两头空格: str str.replac…

String中删除空格的7种方法!

字符串&#xff0c;是Java中最常用的一个数据类型了。我们在日常开发时候会经常使用字符串做很多的操作。比如字符串的拼接、截断、替换等。 本文我们介绍一个比较常见又容易被忽略的一个操作&#xff0c;那就是移除字符串中的空格。 其实&#xff0c;在Java中从字符串中删除空…

H5怎么禁用长按复制的功能?

个人开发的塔罗牌占卜小程序&#xff1a;【问问塔罗牌】 快来瞧瞧吧&#xff01; [html] H5怎么禁用长按复制的功能&#xff1f; // 禁止长按图片保存&#xff0c;设置img样式 -webkit-touch-callout: none; pointer-events: none; // 微信浏览器无法禁止&#xff0c;需加上这…

手机h5实现长按复制(支持安卓和ios)

前段时间有位朋友让帮忙做一个手机h5页面长按复制的功能&#xff0c;先上图 安卓实现起来没问题&#xff0c;有时候ios会报错&#xff0c;无奈手边也没有iPhone手机&#xff0c;折腾了好几次才完成&#xff0c;直接上关键代码 <script src"js/jquery.ui.draggable.js&…

[Swift]WKWebView禁止长按复制

extension WKWebVC : WKNavigationDelegate {func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {debugPrint("加载成功")// 禁止长按 复制webView.evaluateJavaScript("document.documentElement.style.webkitTouchCalloutnone;"…

页面禁止长按保存图片和长按复制文字

1 禁止长按保存图片 img { pointer-events:none; // 禁止none &#xff0c;启用auto }Tips&#xff1a;pointer-events属性详解&#xff1a; 官方文档&#xff1a;https://www.html.cn/book/css/properties/user-interface/pointer-events.htm 2 禁止复制文本 *{-webkit-t…

微信小程序实现长按复制和点击复制

我们在进行微信小程序开发时&#xff0c;经常会遇到用户通过长按文字复制和用户通过点击事件复制指定内容的需求。 长按复制: 微信小程序中text标签中有一个selectable属性可以满足我们的需求&#xff0c;我们只需要把属性的值设置为true即可。 <text selectabletrue>哈…

长按复制

2019独角兽企业重金招聘Python工程师标准>>> - (void)awakeFromNib {[super awakeFromNib];UILongPressGestureRecognizer *longPress [[UILongPressGestureRecognizer alloc] initWithTarget:self action:selector(problemToCopy:)];longPress.numberOfTouchesReq…

iOS创建支持长按复制的Label控件(将`canPerformCopyAction`置为`YES`来开启长按复制文本,并自定义 UIMenuController来处理事件)

文章目录 前言I、UILabel的基本用法1.1 显示模式1.2 例子:一行中头部省略II、 案例: 实现长按复制文本的功能2.1 实现步骤2.2 具体的代码III 、根据文本内容计算UILabel的高度IV、 see also: QMUILabel前言 实现原理 CopyTextLabel 通过将canPerformCopyAction置为YES来开启长…

点击复制/长按复制

一、封装事件&#xff08;长按事件才需要此文件&#xff09; res/modules/util/longpress.js export default {//长按事件&#xff0c;长按复制到剪切板install(Vue, options {time: 1000}) {Vue.directive(longpress, {bind: function (el, binding, vNode) {// 确保提供的表…

uniapp 实现长按复制文本功能

本篇没啥营养&#xff0c;就是告诉不熟悉uniapp的开发者怎么完成长按复制&#xff0c;懂得朋友别浪费时间 1 . 给 text 组件 设置对应平台 的对应属性&#xff0c;在安卓手机上的效果 2. 直接设置剪切板的内容 uni.setClipboardData(OBJECT) <text style" longpress…

微信小程序长按复制文本

在微信小程序内的文字无法长按复制&#xff0c;除了text节点以外。 但是要在text标签内加一个“selectable”属性。 < text selectable’true’ >< text/>

微信小程序实现文字长按复制、一键复制功能

一、不引入外部组件的实现方式 <!-- index.wxml --> <view><!-- 长按复制 --><view bindlongtap"copyText" data-key"{{item.cdkey}}">{{ item.cdkey }}</view><text bindlongtap"copyText" data-key"{{i…

Android 自定义文本的“长按选择复制”,再也不用担心各种差异了!

承香墨影 只分享最有用的原创技术干货&#xff01; 关注 在 Android 下浏览网页&#xff0c;基本上都有长按复制的功能&#xff0c;不过这些都是 WebView 以及系统为我们提供的功能&#xff0c;如果想要定制的话&#xff0c;还是有些许麻烦的。 今天给大家推荐的文章就是说说如…

引入 jackson-dataformat-xml 后,默认响应结果是 json 还是 xml?

背景 继续接上一篇的文章&#xff0c;项目中同时加入了 JSON 和 XML 解析器后&#xff0c;一个请求没有设置 produces 属性时&#xff0c;得到的数据是什么类型呢&#xff1f;本文来探讨这个问题。 引用 XML 解析包 <dependency><groupId>com.fasterxml.jackson…

Apache Camel源码研究之DataFormat

在上一篇博客Apache Camel源码研究之TypeConverter中&#xff0c;我们介绍了Apache Camel实现数据格式转换的一种实现方式&#xff0c;本文中我们将介绍另外一种实现方式 —— DataFormat。 1. 概述 相较于前面博客介绍过的TypeConverter&#xff0c;DataFormat在平时应用中应…

springboot引入ackson Dataformat XML后原本返回json的却返回xml

springboot引入ackson Dataformat XML后原本返回json的却返回xml springboot引入jackson Dataformat XML后原本返回json的却返回xml问题原因解决方式最后说明 springboot引入jackson Dataformat XML后原本返回json的却返回xml 今天项目需要生成xml文件&#xff0c;才引入了jac…

Error:java: 读取D:\apache-maven-3.6.1\req123\com\fasterxml\jackson\dataformat\jackson-dataformat-smile

Error:java: 读取D:\apache-maven-3.6.1\req123\com\fasterxml\jackson\dataformat\jackson-dataformat-smile\2.11.4\jackson-dataformat-smile-2.11.4.jar时出错; error in opening zip file 报错&#xff1a; 本地jar文件损坏 解决&#xff1a; 删除其jar包所在的文件夹…

@JsonFormat与@DataFormAT注解的区别

JsonFormat与DateTimeFormat注解的区别 JsonFormat主要是后台到前台的时间格式的转换DateTimeFormat主要是前后到后台的时间格式的转换 例子&#xff1a; pattern&#xff1a; 日期格式 timezone: 时区