Python知识点精汇!字符串:定义、截取(索引)和其内置函数

目录

一、字符串的定义

二、字符串的截取

1.截取干啥的

2.怎么用截取

3.打印多次

4.两个字符串拼接在一起

三、字符串内置函数

1.查询函数:

(1)find(str,start,end)

(2)index(str,start,end)

2.大小写转换函数:

(1)upper()

(2)lower() 

(3)swapcase()

(4)capitalize()

(5)title()

3.分割字符串函数

(1)split(x,y)

(2)rsplit(x,y)

(3)splitlines()

(4)partition(x)

(5)rpartition(x)

4.合并与替换

(1)join(str)

 (2)replace(old,new,max)

(3)format(x1,x2,……)

5.字符串的比较

(1)max(str)

(2)min(str)

(3)ord(str)

(4)chr(原始值)

6.字符串计数

(1)count(str,start,end)

(2)len(str)

7.判断开头结尾字符串

(1)startswith(x)

 (2)endswith(x)

8.去掉两端多余字符

(1)lstrip(chars)

(2)rlstrip(chars)

(3)strip(chars)

9.字符串检测函数

(1)isalnum()

(2)islower()

(3)isupper()


一、字符串的定义

标准解释:字符串是一系列字符的有序集合。字符可以是字母、数字、符号、空格等。字符串的长度是其包含的字符数量。在编程中,字符串通常用引号括起来。

简单来说,字符串就是被单引号和双引号括住的东西。

例子:1是整数型的,而“1”就会变成字符串类型的1

二、字符串的截取

1.截取干啥的

比如,我们有字符串类型变量a=“123一二三;;;”

如果我们想输出其中的一部分,比如输出:23一

那么就会用到截取的知识。

2.怎么用截取

首先,我们既然想输出指定部分,那么就要先给它内部编个号,然后我们告诉计算机编号几到几,它就可以输出了。

具体的编号规则如下:

正向索引:第一个是0,第二个是1,以此类推……

反向索引:最后一个是-1,倒数第二个是-2,以此类推……

我们也可以借着下图来理解,定义字符串“Runoob”

 

正向索引和反向索引,随便用哪个都行,当然混着用也是可以的

具体的格式如下:

a="12三四56"    #假设你定义了字符串a
#输出第二个到第四个字符
print(a[1:4])

有人可能问了,第四个字符不是到3吗,怎么成4了?

这是因为, [ ] 中尊崇“左闭右开”原则。所以[1:4]相当于“大于等于编号1小于编号4”,就是字符“第2个到第4个了”,即最后边它是不包括的, 所以你要多加一位喽。(所以在反向索引时,也要尤其注意哦)

我们来看一看具体示例:

新问题:如果想输出从第2个一直到尾呢

我们只需要[ :]的后一个位置空着就行,如下:

同理,如果是从头开始,就可以把最前面的位置空着就行了。

3.打印多次

比如连续打印两次,加上“*2”即可,代码如下:

a="123天气真好!!"
print(a*2)

系统输出:

4.两个字符串拼接在一起

比如我们想在字符串a的后面加上点字,写个“+”然后写字符串就行,代码如下:

a="123天气真好!!"
print(a+"心情真好。")

系统输出

三、字符串内置函数

1.查询函数:

(1)find(str,start,end)

说明:

从编号start开始,一直到编号end结束,来查找str是否在字符串中,如果在,则输出str的编号位置,如果不在则输出-1

示例代码:

a="最近真的好忙,好郁闷!!"
b=a.find("忙",1,3)    #查找“忙”是不是在第2个元素到第3个元素之间
c=a.find("忙",1,7)    #查找“忙”是不是在第2个元素到第7个元素之间
print(b)
print(c)

系统输出:

注:这里的索引规则,同第二部分一样。

另外,如果你嫌写b和c麻烦,其实可以直接写成:

a="最近真的好忙,好郁闷!!"
print(a.find("忙",1,3))
print(a.find("忙",1,7))

(2)index(str,start,end)

唯一与find不同的是,find找不到会返回-1,而index找不到会报错

2.大小写转换函数:

(1)upper()

功能:将所有元素转换为大写

(注:a字符串的括号可以不加) 

(2)lower() 

功能:将所有元素转换为小写

(3)swapcase()

功能:将大写变成小写,将小写变成大写

(4)capitalize()

功能:第一个字符大写,其余小写

(5)title()

功能:每个单词首字母大写,其余小写

3.分割字符串函数

(1)split(x,y)

解释:从头开始,在字符串中寻找x,找到后,删除掉x,然后将x两侧的字符,分割成两部分字符串输出。y的含义是,寻找几次x。

如果y是1,那么从左开始,第一次找到后则停止,如果不填y,则默认一直查找。

 示例代码:

a="mynameisA.sir"
print(a.split("yn"))
print(a.split("i"))
print(a.split("i",1))

系统输出:

(2)rsplit(x,y)

与split(x,y)类似,只不过rsplit(x,y)是从右侧开始查找

(3)splitlines()

功能:针对多行的字符串分割,最后变成一个列表

示例:

注:splitlines(a)中的a可以不写 ,并且不加a的话,就不会出现\n了

注意:这里连用了三个双引号,是为了能够使得字符串分行书写

(4)partition(x)

功能:从做开始,找第一个x,并以x为界,分为三部分,x左一部分,x一部分,x右一部分

注:返回的是元组

(5)rpartition(x)

与partition(x)相同,只不过从右边开始找

4.合并与替换

(1)join(str)

格式:

b=“。”.join([a1,a2,a3])

解释:

将a1,a2,a3三个变量。并用“。”连接起来

示例:

当然,如果是在 每一个元素都插入的话,如下图格式:

 (2)replace(old,new,max)

解释:

将字符串中的old字符,替换成new,替换次数为max次

示例:

(3)format(x1,x2,……)

首先在原字符串中有 {} ,然后会被x1,x2依次替换

示例:

 注:{}里不能有东西哦

5.字符串的比较

(1)max(str)

功能:返回最大的字母

示例:

(2)min(str)

功能:返回最小字母

原理同max函数

(3)ord(str)

功能:将指定字符转换为原始值

print(ord("a"))

系统输出:97 

补充知识:原始值

在计算机中有一种编码,叫做ASCII ,在这个编码系统里,每一个字符都有对应的数字值,就叫原始值

(4)chr(原始值)

功能:将原始值转换为对应字符

print(chr("97"))

系统输出:a

6.字符串计数

(1)count(str,start,end)

解释:在字符串start到end范围内,查找str出现次数,并返回

这里的start,end同样遵循左闭右开原则

(2)len(str)

功能:计算字符串内字符个数

示例:

7.判断开头结尾字符串

(1)startswith(x)

功能:判断字符串是否以x开头,若是则返回True

 (2)endswith(x)

功:判断字符串是否以x结尾,若是则返回True

原理同startswith(x)

8.去掉两端多余字符

(1)lstrip(chars)

功能:去掉左边的字符chars,如果一直匹配,则一直去除,如果遇到不匹配的则立即停止

示例:

a = "aabbcc"
b=a.lstrip("a")
print(b)    #输出bbcca = "aabbcc"
b=a.lstrip("ab")
print(b)    #输出cca = "aabbcc"
b=a.lstrip("abc")
print(b)    #输出为空白

(2)rlstrip(chars)

从右边开始匹配,原理同lstrip(chars)

(3)strip(chars)

从左右两边同时匹配,原理同lstrip(chars)

9.字符串检测函数

(1)isalnum()

功能:判断字符串是否只包含数字和字母,若是则输出True

示例:

(2)islower()

功能:检测字符串是否都是小写字母

示例:

(3)isupper()

功能:检测字符串是否都是大写字母

原理同islower()

以上就是全部内容拉~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/472980.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mindspore发布件

MindSpore Repohttps://repo.mindspore.cn/ MindSpore Repohttps://repo.mindspore.cn/mindspore-lab/mindnlp/newest/any/

MySQL技巧之跨服务器数据查询:基础篇-A数据库与B数据库查询合并

MySQL技巧之跨服务器数据查询:基础篇-A数据库与B数据库查询合并 上一篇已经描述:借用微软的SQL Server ODBC 即可实现MySQL跨服务器间的数据查询。 而且还介绍了如何获得一个在MS SQL Server 可以连接指定实例的MySQL数据库的链接名: MY_ODBC_MYSQL 以…

计算机视觉在自动驾驶汽车中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 计算机视觉在自动驾驶汽车中的应用 计算机视觉在自动驾驶汽车中的应用 计算机视觉在自动驾驶汽车中的应用 引言 计算机视觉在自动…

2024-11-16-机器学习方法:无监督学习(1) 聚类(上)

文章目录 机器学习方法:无监督学习(1) 聚类(上)1. 聚类的基本概念1.1 聚类的概念1.2 聚类的功能1.3 聚类的算法 2. 相似度或距离2.1 闵可夫斯基距离2.2 相关系数2.3 夹角余弦 3 类或簇3.1 类的特征 4 类与类之间的距离…

计算机网络WebSocket——针对实习面试

目录 计算机网络WebSocket什么是WebSocket?WebScoket和HTTP协议的区别是什么?说明WebSocket的优势和使用场景?说明WebSocket的建立连接的过程? 计算机网络WebSocket 什么是WebSocket? WebSocket是一个网络通信协议,提…

STM32设计防丢防摔智能行李箱

目录 目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 1.电路图采用Altium Designer进行设计: 2.实物展示图片 三、程序源代码设计 四、获取资料内容 前言 随着科技的不断发展,嵌入式系统、物联网技术、智能设备…

PaoluGPT——千里挑一

开启题目: 点击“开始聊天”,发现已经跑路: 点击“查看聊天记录”,会发现一大堆聊天记录: 聊天记录在/list目录下 点两个具体的聊天记录,发现地址栏中URL发生变化,都是 /view?conversation_id…

L11.【LeetCode笔记】有效的括号

目录 1.题目 2.分析 理解题意 解决方法 草稿代码 ​编辑 逐一排错 1.当字符串为"["时,分析代码 2.当字符串为"()]"时,分析代码 正确代码(isValid函数部分) 提交结果 3.代码优化 1.题目 https://leetcode.cn/problems/valid-parentheses/descri…

paddle表格识别数据制作

数据格式 其中主要数据有两个一个表格结构的检测框&#xff0c;一个是tokens&#xff0c;注意的地方是 1、只能使用双引号&#xff0c;单引号不行 2、使用带引号的地方是tokens里面 "<tr>", "<td", " colspan2", ">",&quo…

深度学习中的Pixel Shuffle和Pixel Unshuffle:图像超分辨率的秘密武器

在深度学习的计算机视觉任务中&#xff0c;提升图像分辨率和压缩特征图是重要需求。Pixel Shuffle和Pixel Unshuffle是在超分辨率、图像生成等任务中常用的操作&#xff0c;能够通过转换空间维度和通道维度来优化图像特征表示。本篇文章将深入介绍这两种操作的原理&#xff0c;…

阮一峰科技爱好者周刊(第 325 期)推荐工具:一个基于 Next.js 的博客和 CMS 系统

近期&#xff0c;阮一峰在科技爱好者周刊第 325 期中推荐了一款开源工具——ReactPress&#xff0c;ReactPress一个基于 Next.js 的博客和 CMS 系统&#xff0c;可查看 demo站点。&#xff08;fecommunity 投稿&#xff09; ReactPress&#xff1a;一款值得推荐的开源发布平台 …

Amazon Web Services (AWS)

一、Amazon Web Services (AWS)介绍 1、简介 2、产品 AWS 提供了各种云计算服务&#xff0c;包括 DynamoDB、S3、EC2、Lambda 等等。 登录aws后点击所有服务也可以看到amazon的所有服务&#xff1a; 3、免费试用产品 除了免费的Amazon Step Functions、Amazon Lambda&#…

rk3399开发环境使用Android 10初体验蓝牙功能

版本 日期 作者 变更表述 1.0 2024/11/10 于忠军 文档创建 零. 前言 由于Bluedroid的介绍文档有限&#xff0c;以及对Android的一些基本的知识需要了(Android 四大组件/AIDL/Framework/Binder机制/JNI/HIDL等)&#xff0c;加上需要掌握的语言包括Java/C/C等&#xff0…

Redis实战案例(黑马点评)

List item Redis实战案例&#xff08;黑马点评&#xff09; 一、短信登录 tomcat的运行原理&#xff1a; 当用户发起请求时&#xff0c;会访问tomcat注册的端口&#xff0c;任何程序想要运行&#xff0c;都需要有一个线程对当前端口号进行监听&#xff0c;当用户和tomcat连…

每行数据个数在变的二维数组的输出

#include<stdio.h> int main() {//定义四个一维数组int arr1[1] { 1 };int arr2[3] { 1,2,3 };int arr3[5] { 1,2,3,4,5 };int arr4[7] { 1,2,3,4,5,6,7 };//把四个一维数组放进一个二维数组int* arr[4] { arr1,arr2,arr3,arr4};//预先计算好每一个数组真实的长度in…

IPv6 NDP 记录

NDP&#xff08;Neighbor Discovery Protocol&#xff0c;邻居发现协议&#xff09; 是 IPv6 的一个关键协议&#xff0c;它组合了 IPv4 中的 ARP、ICMP 路由器发现和 ICMP 重定向等协议&#xff0c;并对它们作出了改进。该协议使用 ICMPv6 协议实现&#xff0c;作为 IPv6 的基…

MySQL数据库:SQL语言入门 【2】(学习笔记)

目录 2&#xff0c;DML —— 数据操作语言&#xff08;Data Manipulation Language&#xff09; &#xff08;1&#xff09;insert 增加 数据 &#xff08;2&#xff09;delete 删除 数据 truncate 删除表和数据&#xff0c;再创建一个新表 &#xff08;3&#xf…

第二十一周机器学习笔记:动手深度学习之——数据操作、数据预处理

第二十周周报 摘要Abstract一、动手深度学习1. 数据操作1.1 数据基本操作1.2 数据运算1.2.1 广播机制 1.3 索引和切片 2. 数据预处理 二、复习RNN与LSTM1. Recurrent Neural Network&#xff08;RNN&#xff0c;循环神经网络&#xff09;1.1 词汇vector的编码方式1.2 RNN的变形…

购物车demo全代码-对接支付宝沙箱环境

创建项目 vue create alipay-demoAlipayDemo.vue <template><div class"cart-container"><h2>商品列表</h2><table class"product-table"><tr><th>商品</th><th>价格</th><th>商品描…

【CANOE】【学习】【DecodeString】字节转为中文字符输出

系列文章目录 文章目录 系列文章目录前言一、DecodeString 转为中文字节输出二、代码举例1.代码Demo2.DecodeString 函数说明函数语法&#xff1a;参数说明&#xff1a;返回值&#xff1a;使用示例&#xff1a;示例代码&#xff1a; 说明&#xff1a; 前言 有时候使用的时候&a…