首页 > 其他分享 >【分享】字符串常见函数学习笔记

【分享】字符串常见函数学习笔记

时间:2023-08-22 10:57:39浏览次数:43  
标签:good string s2 s1 笔记 字符串 分享 cout

字符串常见函数学习笔记

 

1: 查找函数: find() //返回值string::npos

string s = "good good study, day day up";
int pos1 = s.find("good");//查找子串"good"
int pos2 = s.find("good", 4); //从下标4开始,查找子串"good"
cout << pos1 << endl << pos2;//输出下标

 

输出内容:

0
5

2: 获取子串函数:substr()

string s = "good good study, day day up";
string s1 = s.substr(0,4);//截取下标0-4的所有子串 
string s2 = s.substr(9,5);//截取从下标9开始,长度为5的子串
string s3 = s.substr(5);//截取下标5以上的所有子串 
cout << s1 << endl << s2 << endl << s3;//输出子串

 

输出内容:

诶好像有点问题……

good
 stud
good study, day day up

 


3: 删除函数:erase()

注:会改变原字符串!

string s = "abcdef";
string ss = "abcdef";
string s1 = s.erase(1,2);//把下标1-2中间的子串删除 
string s2 = s.erase(1);//把下标1后面的所有子串删除 
cout << s1 << endl << s2;//输出操作后的字符串 

 

输出内容:

adef
a

 


4:替换函数:replace()

注:会改变原字符串!

string s1 = "topscode";
string s2 = "coding";
string s3 = s1.replace(4,4,s2);//把s1从下标4到后4个替换成s2 
cout << s3;//输出替换后的字符串 

 

输出内容:

topscoding

 


5:插入函数:insert()

注:会改变原字符串!

string s1 = "topscodecoding";
string s2 = "good";
string s3 = s1.insert(3,s2);//从s1下标3左边开始,插入s2 
cout << s3;//输出插入后的字符串 

 

输出内容:

topgoodscodecoding

 


6:翻转函数:reverse()

注:字符串的第一个字符为begin(),最后一个字符为end()

注:会改变原字符串!

string s1 = "good good study";
string s2 = "day day up";
reverse(s1.begin(), s1.end()); //把s1整体翻转过来
reverse(s2.begin() + 4, s2.end() - 3); //把s2从下标4开始到下标倒数3全部翻转
cout << s1 << endl << s2;//输出翻转后的字符串

 

输出内容:

yduts doog doog
day yad up

 

7:判空函数:empty()

string s1 = "Hello";
if (s1.empty()) {//判断字符串s1是否为空串
    cout << 1;
} else {
    cout << 0;
}

 

输出内容:

1

8:清空函数:clear()

注:会改变原字符串!

string a = "topscoding";
a.clear();//将a的内容清空,变为空串

 

输出内容:

9:追加函数:append()

注:会改变原字符串!

string a = "topscoding";
a.append("hello");//将a的内容增添一截
cout << a;

 

输出内容:

topscodinghello

 


字符串字典序

(1)比如两个字符串'abcd”和“abdd”比较大小。从第一个字符开始逐位比较,第一个字符不相等,谁的ASCII码值小谁的字典序就小。若第一个相等,继续逐位比较后续字符。比较到字母c<字母d,所以第一个字符串”abcd“字典序较小。

(2)再比如“hist“和“historv“比较大小。若逐位比较都相等,但其中一个没有后续的字符了,则较短的串“hist”字典序较小。

  • 使用sort()可以对字符串进行字典序排序,字符按ASCII码值由小到大排列

sort() 单个字符串排序

string s = "yuxingran1633";
sort(s.begin(), s.end()); //按字典序将字符串排序
cout << s;

 


sort() 多个字符串排序

string s[3] = {"agddbad", "daf", "adfw"};
sort(s, s + 3); //按字典序将字符串排序
for (int i = 0; i < 3; i++) {
    cout << s[i] << endl;
}

 

额外分享:

为了满足题目要求,可以再对字符串排序的时候用上cmp函数:

bool cmp( ... ) {
    if( ... ) {
        return ... ;
    } else {
        ... ;
    }
    ... ...
}
int main() {
    ...
    
    sort(... , ... ,cmp);
    ...
    return 0;
}

 


例题:

ASCII码排序

字符串查找

单词替换

国名排序

字符串练习二

集合运算(set)

本文内容就这么多,希望对你有帮助!

标签:good,string,s2,s1,笔记,字符串,分享,cout
From: https://www.cnblogs.com/Meego666888/p/17647960.html

相关文章

  • JSON字符串中获取一个特定字段的值
    importcom.google.gson.JsonObject;importcom.google.gson.JsonParser;Stringjson="{\"translation\":\"你好吗\"}";//Stringjson="{'translation':'你好吗'}";JsonObjectjsonObject=JsonParser.parseS......
  • Python中字符串截取
    #截取字符串时,如果位数不够,Python不会报错,而是返回空字符串#这是因为Python中的字符串是不可变的,所以当我们尝试访问一个不存在的索引时,Python会返回空字符串而不是报错#示例代码s='hello'print(s[10:15])#返回空字符串'' #Python中的字符串是不可变的,这意味着一旦......
  • 查询速度最高提升50倍!火山引擎ByteHouse在广告投放领域实践分享
     更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 据QuestMobile报告显示,移动互联网已经进入了下半场,在使用人数和使用时长方面已经没有明显增长,互联网已经流量趋于饱和。 作为广告投放主要阵地,由于互联网平台流量红利逐渐消退,越来越......
  • 资讯_Windows 8笔记本电脑关机后电源灯要亮一段时间,是否正常?
    Windows8笔记本电脑关机后电源灯要亮一段时间,是否正常故障现象:随着Windows8的普及,多次遇到用户反馈安装Windows8的笔记本在执行关机动作后,屏幕关闭之后电源等指示灯还要亮几十秒,甚至几分钟不等。——此现象其实是由于Windows8的混合关机特质所致,并不属于故障的范畴。原因分析:在W......
  • Web_分享按钮;
    =》分享按钮=》示例<html> <head> <title>分享</title> </head> <body> <!--JiaThisButtonBEGIN--> <divclass="jiathis_share_slidejiathis_share_24x24"id="jiathis_share_slide"> <divc......
  • golang 学习笔记 -- for
    forrange 遍历取不到所有元素的指针orgItems:=[]int{1,2,3}varnewItems[]*intfor_,item:=rangeorgItems{fmt.Println(item)//123fmt.Printf("%p\n",&item)//每次地址都是相同的newItems=append(newItems,&item)}for_,ite......
  • JavaScript中的字符串
    在JavaScript中,用于表示文本的类型称为字符串(String)。字符串是一个不可变的有序序列,由16位值组成,其中每个值代表一个Unicode字符。字符串的length属性表示它包含的16位值的数量。JavaScript的字符串(以及数组)使用从零开始的索引,因此第一个16位值的索引是0,第二个值的索引是1,依此类推......
  • 这个list元素是用;分割的字符串 将每个元素用;分割成字符串数组 并将每个数组将相同位
    publicstaticvoidmain(String[]args){List<String>list=newArrayList<>();list.add("2.0;2.2;4.0");list.add("3.0;4.2;5.0");list.add("4.0;5.2;3.0");String[]firstRow=list.get(0).split("......
  • 将字符串截取成多段(可以截取的时候只从符号截取)
    1、指定长度截取字符串/***根据长度切割字符串**@paramstr要截取字符串*@parammaxLength截取长度*@return*/publicstaticString[]splitByLength(Stringstr,intmaxLength){intlen=str.length();......
  • 【学习笔记】DSU on Tree
    概述DSUonTree即树上启发式合并,重点不在“合并”,而在利用树链剖分的性质对子树问题进行复杂度正确的分治。算法流程递归处理轻儿子的答案递归处理重儿子的答案重新遍历轻儿子子树,计算当前子树的答案如果当前节点是轻儿子,重新遍历整棵子树,清除答案发现一个节点......