【C++】string字符串查找替换、比较、提取、插入和删除

这篇具有很好参考价值的文章主要介绍了【C++】string字符串查找替换、比较、提取、插入和删除。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

字符串的查找替换

//c++string容器字符串查找替换
#include<string>
#include<iostream>
#include<cstring>
using namespace std;

int main(){
    //int find(const string &str,int pos=0)const;
    //查找第一次出现的位置,从pos开始查找
    string str1 = "ehhe:haha:xixi:haha:heihei";
    string tmp = "haha";
    cout<<str1.find(tmp)<<endl;
    cout<<str1.find(tmp,10)<<endl;

    cout<<str1.find("haha")<<endl;

    //string& replace(int pos,int n,const string& str);
    //替换str第一次出现的位置,从pos开始查找
    str1.replace(5,4,"###");
    cout<<str1<<endl;

    string str2="www.17171272.sex.person.77.com";
    while(1){
        int ret = str2.find("sex");
        if(ret>str2.size()){
            cout<<"遍历查找完成"<<endl;
            break;
        }
        str2.replace(ret,strlen("sex"),"***");
    }
    cout<<str2<<endl;
    return 0;
}
5
15
5
ehhe:###:xixi:haha:heihei
遍历查找完成
www.17171272.***.person.77.com

字符串的比较

//c++string容器字符串的比较
#include<iostream>
#include<string>
using namespace std;
int main(){
    //compare函数在>时返回1, <是返回-1,等于时返回0
    string str1 = "hehe";
    string str2 = "haha";
    cout<<str1.compare(str1)<<endl;//1
    cout<<str1.compare("lala")<<endl;//-1
    cout<<str1.compare("hehe")<<endl;//0
    return 0;
}

字符串的提取

//c++string容器字符串的提取
#include<iostream>
#include<string>
using namespace std;
int main(){
    //string substr(int pos=0,int n=n)const;
    //返回由pos开始的n个字符组成的字符串
    string str1="hehehe:ha:xixixi:lalala:heihei";
    cout<<str1.substr(5,4)<<endl;

    int pos = 0;
    while(1){
        int ret = str1.find(":",pos);//从pos开始寻找":"
        if(ret<0){
            break;
        }
        string tmp =str1.substr(pos,ret-pos);
        cout<<tmp<<endl;
        pos=ret+1;
    }
    return 0;
}
e:ha
hehehe
ha
xixixi
lalala

字符串的插入和删除

//c++string容器字符串的插入和删除
#include<iostream>
#include<string>
using namespace std;
int main(){
    string str1="hello world";
    str1.insert(5,"hehe");
    cout<<str1<<endl;

    str1.erase(5,4);//删除hehe
    cout<<str1<<endl;

    //清空字符串
    str1.erase();
    cout<<str1.size()<<endl;   
    return 0;
}
hellohehe world
hello world
0

Reference

Link

加油!

感谢!

努力!文章来源地址https://www.toymoban.com/news/detail-662326.html

到了这里,关于【C++】string字符串查找替换、比较、提取、插入和删除的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LeetCode 0833. 字符串中的查找与替换

    力扣题目链接:https://leetcode.cn/problems/find-and-replace-in-string/ 你会得到一个字符串 s  (索引从 0 开始),你必须对它执行 k 个替换操作。替换操作以三个长度均为 k 的并行数组给出: indices ,  sources ,   targets 。 要完成第 i 个替换操作: 检查 子字符串   sources[i]  是否出现在 原字

    2024年02月12日
    浏览(42)
  • Windows BAT批处理字符串相关操作(字符串定义、分割、拼接、替换、切片、查找)

    使用 set 来定义字符串 代码说明: 将字符串Hello赋值给string1的变量 使用 %string1%%string2% 的方式完成字符串的拼接。 代码说明: 用来连接字符串的字符串,如果包含了特殊字符则需要使用 ^ 转义,并且需要使用 \\\"\\\" 括起来,特殊字符包括(但不限于): 符号 作用 @ 命令行回显

    2024年02月12日
    浏览(45)
  • Java中String字符串替换3种方法详解

    replace() 方法用于将目标字符串中的指定字符(串)替换成新的字符(串) 字符串.replace(String oldChar, String newChar) replaceFirst() 方法用于将目标字符串中匹配某正则表达式的第一个子字符串替换成新的字符串 字符串.replaceFirst(String regex, String replacement) replaceAll() 方法用于将目标字

    2024年02月11日
    浏览(83)
  • C#用string.Replace方法批量替换某一类字符串

    目录 一、关于字符串及其操作常识 二、String.Replace 方法 1.重载  2.Replace(Char, Char) 3.Replace(String, String)  (1)实例: (2)生成结果: 4.Replace(String, String, StringComparison) 5.Replace(String, String, Boolean, CultureInfo) (1)实例         在字符串操作中,可以使用字符串对象的 Split方法

    2024年02月02日
    浏览(57)
  • C++string类replace()函数(替换字符串中的子串)

    C++中的string类提供了replace()函数,用于替换字符串中的子串。其函数原型如下: 其中,pos表示要替换的子串在原字符串中的起始位置,len表示要替换的子串的长度,str表示用来替换的字符串。 replace()函数的使用方法非常简单,只需要传入要替换的子串的位置、长度和替换字

    2024年02月05日
    浏览(55)
  • 2023-08-15 LeetCode每日一题(字符串中的查找与替换)

    点击跳转到题目位置 你会得到一个字符串 s (索引从 0 开始),你必须对它执行 k 个替换操作。替换操作以三个长度均为 k 的并行数组给出:indices, sources, targets。 要完成第 i 个替换操作: 检查 子字符串 sources[i] 是否出现在 原字符串 s 的索引 indices[i] 处。 如果没有出现, 什么

    2024年02月12日
    浏览(43)
  • Go中字符串处理:fmt.Sprintf与string.Builder的比较

    在Go语言中,我们通常会遇到两种主要的方式来处理和操作字符串:使用 fmt.Sprintf 函数和 string.Builder 类型。尽管两者都可以实现字符串的格式化和连接,但它们在性能和用法上有一些关键区别。 fmt.Sprintf 是一个函数,它根据提供的格式化字符串和参数列表,将它们格式化为

    2024年02月05日
    浏览(51)
  • C++将字符串中包含指定字符串范围内的字符串全部替换

    将指定字符串所在的范围之内的字符串全部替换为指定的字符串。如: 源字符串: 转换后的字符串: 或者转换为: 本文就是记录一种将上述字符串替换成功的方法。其中转换之后的第一个字符串,实际上是将原有字符串中 “$START$” 和 “$END$” 替换为 “” (空字符串);

    2024年02月07日
    浏览(57)
  • 【string题解 C++】字符串相乘 | 翻转字符串III:翻转单词

    目录 字符串相乘 题面 错误记录 Way1 拆分成“先乘后加” 思路 实现 时空复杂度分析 反思 Way2 用数组 思路 实现 时空复杂度分析 翻转字符串III:翻转字符串中的单词 题面 错误记录 思路1 遍历找单词 实现 思路2 暴力解法 实现 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平

    2024年02月07日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包