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

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

相关文章

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

MyBatis中的两种参数传递类型详解(示例代码)

《MyBatis中的两种参数传递类型详解(示例代码)》文章介绍了MyBatis中传递多个参数的两种方式,使用Map和使用@Param注解或封装POJO,Map方式适用于动态、不固定的参数,但可读性和安... 目录✅ android方式一:使用Map<String, Object>✅ 方式二:使用@Param

C# WebAPI的几种返回类型方式

《C#WebAPI的几种返回类型方式》本文主要介绍了C#WebAPI的几种返回类型方式,包括直接返回指定类型、返回IActionResult实例和返回ActionResult,文中通过示例代码介绍的... 目录创建 Controller 和 Model 类在 Action 中返回 指定类型在 Action

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随

python中的鸭子类型详解

《python中的鸭子类型详解》鸭子类型是Python动态类型系统的灵魂,它通过强调“行为”而非“类型”,赋予了代码极大的灵活性和表现力,本文给大家详细介绍python中的鸭子类型,感兴趣的朋友一起看... 目录1. 核心思想:什么是鸭子类型?2. 与“传统”静态类型语言的对比3. python 中无处不在

Java枚举类型深度详解

《Java枚举类型深度详解》Java的枚举类型(enum)是一种强大的工具,它不仅可以让你的代码更简洁、可读,而且通过类型安全、常量集合、方法重写和接口实现等特性,使得枚举在很多场景下都非常有用,本文... 目录前言1. enum关键字的使用:定义枚举类型什么是枚举类型?如何定义枚举类型?使用枚举类型:2.

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su

Java中字符编码问题的解决方法详解

《Java中字符编码问题的解决方法详解》在日常Java开发中,字符编码问题是一个非常常见却又特别容易踩坑的地方,这篇文章就带你一步一步看清楚字符编码的来龙去脉,并结合可运行的代码,看看如何在Java项... 目录前言背景:为什么会出现编码问题常见场景分析控制台输出乱码文件读写乱码数据库存取乱码解决方案统一使