【类型商店】字符字符串(下)

2024-06-11 03:20
文章标签 类型 字符串 商店 字符

本文主要是介绍【类型商店】字符字符串(下),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

啊,哈喽,小伙伴们大家好。我是#Y清墨,今天呐,我要介绍的是字符与字符串。 

导语

前两期,我们已经懂得了概念,今天来看些函数。

正题

一.增加或连接 +=

(1) 后面增加(+=)
string s1,s2;   //定义 s1,s2 串s1=”abcd”;  //s2 后面增加 s1s2 += s1;cout<<s2<<endl;// 输出1s1 += s2;cout<<s1<<endl;// 输出2

 

输出1:abcd

输出2: abcdabcd

(2) 连接(+)
string s1,s2;  //定义 s1,s2 串s1="abcd";  //赋值s2="xyz";  //赋值s1=s2+"1234";  //连接后给 s1cout<<s1<<endl;// 输出3cout<<s1+"*"+s2;// 输出4

 

输出3:xyz1234

输出4: xyz1234*xyz

(3) 常见错误
s1 = "abcd"+"xyz";

 

错误信息 :

[Error]   invalid   operands   of   types…… 'operator+'

 

错误原因:

"常量字符串" 之间不可以相加,"+" 号,两边至少要有一个 string 类型的变量。

二.查找子串 find

(1) find
//在 s1 中找 s2 的出现的第一个位置为3(下标从0开始)
//没有找到子串, 则结果为-1string s1="abcdabcd";string s2="da";string s3=”abx”;cout<< s1.find(s2)<<endl; //输出5if( s1.find(s3)==-1)  //输出6cout<<"not find s3"<<endl;else cout<<"find s3"<<endl;

 

输出5:3

输出6: not find s3

(2) 扩展

//从 s1 的第 2 个位置开始向后找"ab",输出找到的位置
string s1="abcdabcd";cout<<s1.find("ab",2)<<endl;  //输出7

 

输出7: 4

三.取子串(substr)

(1) substr
string s1="abcdabcd";  //赋值cout<<s1.substr(2)<<endl;  //从位置 2 开始,一直截取到最后, 返回的是 cdabcdcout<<s1.substr(2,3)<<endl; //从位置 2 开始,截取长度是 3 的子串,返回的是 cdacout<<s1.substr(3,4)<<endl;  //从位置 3 开始,截取长度是 4 的子串, 返回的是 dabccout<<s1.substr(3,20);  //从位置3开始,截取长度是 20 的子串,由于超过 s1 的 长度,只取剩下的,所以返回 dabcd

 

substr(位置,长度); 第二个参数可有可无,当没有第二个参数的时候,就从开始位置到结束全部取

(2)常见错误
string s1="abcdabcd";
int i=30;   
cout<<s1.substr(i)<<endl;  //当第一个位置参数超出"字符串长度-1"时, 会出错!cout<<s1.substr(i,2)<<endl;  //i太大,同样会出错!

 

四. 比较(>,<...)

  1. string 类的比较大小非常简单:直接用 > , < , >= , <= , != , == 关系运算就可以了。如: if ("abc">s1) ... .

  2. 如果是char数组,则需要使用 strcmp(s1,s2)函数,其中 s1 和 s2 是字符 char 数组的名字。比较字符串1和字符串2的大小,比较的结果由函数带回;

    • 如果字符串1>字符串2,返回一个正整数;
    • 如果字符串1=字符串2,返回0;
    • 如果字符串1<字符串2,返回一个负整数;

这篇关于【类型商店】字符字符串(下)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050072

相关文章

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)

《MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)》本文给大家介绍MyBatis的xml中字符串类型判空与非字符串类型判空处理方式,本文给大家介绍的非常详细,对大家的学习或... 目录完整 Hutool 写法版本对比优化为什么status变成Long?为什么 price 没事?怎

C#之枚举类型与随机数详解

《C#之枚举类型与随机数详解》文章讲解了枚举类型的定义与使用方法,包括在main外部声明枚举,用于表示游戏状态和周几状态,枚举值默认从0开始递增,也可手动设置初始值以生成随机数... 目录枚举类型1.定义枚举类型(main外)2.使用生成随机数总结枚举类型1.定义枚举类型(main外)enum 类型名字

Python lambda函数(匿名函数)、参数类型与递归全解析

《Pythonlambda函数(匿名函数)、参数类型与递归全解析》本文详解Python中lambda匿名函数、灵活参数类型和递归函数三大进阶特性,分别介绍其定义、应用场景及注意事项,助力编写简洁高效... 目录一、lambda 匿名函数:简洁的单行函数1. lambda 的定义与基本用法2. lambda