Python中字符串的基本操作

news2024/11/27 4:34:41

文章目录

  • 1、字符串序号
  • 2、字符串切片
  • 3、字符串切割
  • 4、字符串替换
  • 5、字符串删除
  • 6、字符串判断
  • 7、字符串拼接
  • 8、其他操作

字符串是 python 中常用的数据类型,python中可以使用单引号或双引号来创建字符串,python 中没有字符类型,字符在 python 中也是作为字符串使用。

1、字符串序号

字符串序号默认从0开始,python中字符串包括两种序号体系:正向递增序号和反向递减序号。

s = "UserName=Jim&PassWord=123"
# 正向递增序号从0开始
print(s[0])
print(s[1])
# 反向递减序号从负1开始
print(s[-1])
print(s[-2])

数据结果为:
在这里插入图片描述
查找字符串序号的一些常用方法如下:
find:查找一个字符串在另一个字符串指定范围内(默认是整个字符串)中首次出现的位置,若不存在则返回-1。
rfind:查找一个字符串在另一个字符串指定范围内(默认是整个字符串)中最后一次出现的位置,若不存在则返回-1。
index:查找一个字符串在另一个字符串指定范围内(默认是整个字符串)中首次出现的位置,若不存在则抛出异常。
rindex:查找一个字符串在另一个字符串指定范围内(默认是整个字符串)中最后一次出现的位置,若不存在则抛出异常。
count:用来返回一个字符串在另一个字符串中出现的次数,若不存在则返回0。

s = "UserName=Jim&PassWord=123"
print(s.find("&"))
print(s.rfind("3"))
print(s.index('m'))
print(s.rindex("m"))
print(s.count("m"))

输出结果为:
在这里插入图片描述

2、字符串切片

字符串有序号,可以看作是一个特殊的list,可以进行切片操作。需要注意的是切片操作默认步长为1,且切片区间为左闭右开。

s = "UserName=Jim&PassWord=123"
print(s[0:4])
print(s[-3:-1])
print(s[13:])
# 反转字符串
print(s[::-1])

输出结果为:
在这里插入图片描述

3、字符串切割

字符串截取主要用到split函数,使用字符串中的某个字符串分割字符串。

s = "a,b,e,123,hello"
s = s.split(",")  # 使用","分割字符串
print(s)  # 输出结果是['a', 'b', 'e', '123', 'hello']

运用字符串分割,可以将某些特殊的字符串转为字典。

params = 'a=1&b=3&e=78&123=a&hello=h'
s = params.split('&')
print(s)  # 得到链表['a=1', 'b=3', 'e=78', '123=a', 'hello=h']
dict_p = {}  # 定义一个空字典
for key_value in s:  # 通过键值对遍历
    key = key_value[0:key_value.find('=')]  # 截取等号以前的值作为键
    value = key_value[key_value.find('=') + 1:]  # 截取等号后面的值作为值
    dict_p[key] = value  # 把键值对添加到空字典
print(dict_p)  # 输出结果是{'a': '1', 'b': '3', 'e': '78', '123': 'a', 'hello': 'h'}

4、字符串替换

字符串替换主要用到replace函数,replace函数有3个参数,参数1为被替换字符串,参数2为替换字符串,参数3为被替换字符串的个数,默认为-1,表示替换全部。

s = 'Jim is a boy,Jim is 8'
s = s.replace('Jim', 'Tom')
print(s)  # 输出结果是Tom is a boy,Tom is 8
s = s.replace('Tom', 'Jim', 1)
print(s)  # 输出结果是Jim is a boy,Tom is 8

输出结果为:
在这里插入图片描述

5、字符串删除

字符串删除操作,主要用到strip函数,但strip函数只能对字符串两端进行删除操作。
strip:删除字符串两端空白字符或指定字符
lstrip:删除字符串左端空白字符或指定字符。
rstrip:删除字符串右端空白字符或指定字符。

s = "---UserName---PassWord---"
print(s.strip("-"))
print(s.lstrip("-"))
print(s.rstrip("-"))

输出结果为:
在这里插入图片描述

6、字符串判断

字符串判断操作常用的函数如下:
contains:判断是否包含某个字符串。
startswith:判断是否以指定字符开始。
endswith:判断是否以指定字符结束。
isupper:判断是否全为大写。
islower:判断是否全为小写。
isdigit:判断是否全为数字。
isalnum:判断是否全为字母或汉字或数字。

s = "---UserName---PassWord---"
print(s.__contains__("U"))
print(s.startswith('-'))
print(s.endswith('-'))
print(s.isupper())
print(s.isalnum())
print(s.isalpha())

输出结果为:
在这里插入图片描述

7、字符串拼接

常用的拼接方法主要使用逗号、加号拼接,也可以使用join方法拼接。

s1 = "UserName&PassWord"
s2 = '--'
# 使用逗号拼接,中间会有空格
print("UserName&PassWord", '--')
# 使用空格拼接
s3 = "UserName&PassWord" "--"
print(s3)
# 使用加号拼接
s4 = "UserName&PassWord" + "--"
print(s4)
# 使用join方法拼接
print(s2.join(s1))
# 在字符串中插入新的元素形成新的字符串,引号内为插入的新元素。
print("-".join(s1))

运行结果为:
在这里插入图片描述

8、其他操作

常见的其他操作方法:
len:返回字符串长度。
lower:将字符串转换为小写字符串。
uppper:将字符串转换为大写字符串。
capitalize:将字符串首字母变为大写。
title:将字符串中每个单词的首字母都变为大写。
swapcase:将字符串中的字符大小写互换。

s1 = "UserName&PassWord"
s2 = '--'
print(len(s1))
print(s1.lower())
print(s1.upper())
print(s1.swapcase())

输出结果为:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法笔记(十二)——BFS 解决 FloodFill(洪水灌溉)

文章目录 图像渲染岛屿数量岛屿的最大面积被围绕的区域 FloodFill(洪水灌溉) 颜色填充 想Windows画图板中的油漆点一下可以把一个联通的块儿全部染色 本质就是找一块区域里性质相同的联通块 图像渲染 题目:图像渲染 思路 BFS一层一层搜索&…

4.资源《Arduino UNO R3 proteus 电机PID参数整定工程文件(含驱动代码)》说明。

资源链接: Arduino UNO R3 proteus 电机PID参数整定工程文件(含驱动代码) 1.文件明细: 2.文件内容说明 包含:proteus工程,内含设计图和工程代码。 3.内容展示 4.简述 工程功能可以看这个视频 PID仿真调…

通过 Groovy 实现业务逻辑的动态变更

Groovy 1、需求的提出2、为什么是Groovy3、设计参考1_引入Maven依赖2_GroovyEngineUtils工具类3_GroovyScriptVar类4_脚本规则表设计5_对应的实体类6_数据库访问层7_GroovyExecService通用接口 4、测试5、其他的注意事项6、总结 1、需求的提出 在我们日常的开发过程中&#xf…

一、图解C#教程

一、堆和栈 程序运行时,数据存储在内存中。 使用堆和栈来存储数据 1、栈 栈是一个内存数组,先进后出原则。 可以存储:某些类型变量的值;程序当前执行环境;传递给方法的参数; 入栈:把数据放…

【超级详细解释】力扣每日一题 134.加油站 48. 旋转图像

134.加油站 力扣 这是一个很好的问题。这个思路其实基于一种贪心策略。我们从整个路径的油量变化来理解它,结合一个直观的“最低点法则”,来确保找到正确的起点。 问题的核心:油量差值的累积 对于每个加油站,我们有两个数组&…

精选算法入门——day2

精选算法入门——day2 题目一题干解题思路一解题思路二解题思路三思路三代码 题目二题干解题思路代码 题目三题干解题思路一代码解题思路二代码解题思路三代码 题目四题干解题思路代码 题目一 题干 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。…

提高顾客满意度,餐饮业如何开展客户调研?

餐饮行业需明确调研目的,选择合适工具,设计问卷,收集并分析数据,持续追踪优化。通过客户调研,提升服务质量、顾客满意度和竞争力,利用ZohoSurvey等工具实现高效调研。 一、明确调研目的 进行客户调研前&am…

ssm基于JAVA的酒店管理系统的设计与实现

系统包含:源码论文 所用技术:SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习,获取源码请私聊我 需要定制请私聊 目 录 第1章 绪论 1 1.1 选题动因 1 1.2 目的和意义 1 1.3 论文结构安排 2 第2章 开发环境与技术 3 2.1 S…

【AI知识点】置信区间(Confidence Interval)

置信区间(Confidence Interval, CI) 是统计学中用于估计总体参数的范围。它给出了一个区间,并且这个区间包含总体参数的概率等于某个指定的置信水平(通常是 90%、95% 或 99%)。与点估计不同,置信区间通过区…

i春秋云境靶场之CVE-2022-26965

1.环境搭建 提示我们后台存在rce,也就是命令执行漏洞 2.访问环境 cm - cmshttp://eci-2zeh0yf0ohu88wr26unq.cloudeci1.ichunqiu.com/ 我们可看到admin,我们点击,发现是一个登录页面,我们输入弱口令admin,登录成功 3.文件上传 我们在选项——选择主题…

C++:图的遍历

一、简介 图的遍历通常有深度优先遍历和广度优先遍历两种方式,这两种遍历次序对无向图和有向图都使用。 本文分别介绍基于邻接矩阵和邻接表的图的深度优先遍历和广度优先遍历,对于邻接矩阵和邻接表不熟悉的可翻阅:C:图的存储结构及…

dockerpull

20241006更新,亲测可用。 注意:这个方法随时可能会失效。 编辑配置文件,修改镜像源: vi /etc/docker/daemon.json {"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","…

TypeScript 第三部分 扩展

1. 声明文件 主要作用: 类型声明:为库或模块提供类型信息。全局声明:为全局作用域中的类型和变量提供声明。类型兼容性:确保第三方库或自定义代码的类型正确性。代码提示与检查:在开发环境中提供更好的代码提示和类型…

Sollong手机——一站式Web3生态解决方案

从定义上讲,Web3公司也属于互联网公司,不过与传统互联网公司相比,他们有一个很明显的特征:他们不断尝试做去中心化的事,一步步将数据和金融的控制权从美联储(央行和金融机构)、苹果(…

2024/10/6周报

文章目录 摘要Abstract广西的一些污水处理厂工艺解析1. A/O工艺(厌氧-缺氧-好氧工艺)2. 氧化沟工艺3. MBR工艺(膜生物反应器)4. SBR工艺(序批式活性污泥法)5. 生物接触氧化法 其它补充一体化改良氧化沟工艺…

Linux的基础指令(下)

压缩包 这里不为打包和压缩做仔细的区分; 打包: 文件合并; 主要目的是在文件传输,移动时,能有效减少文件的缺失; 压缩:为了减小文件体积,内存; 主要目的是减小使用体…

在JS中定义和使用Vector2

概述 Vector2是GDSCript中表示二维向量的类型,你会发现无论在任何编程语言中,只要你想很好的实现2D绘图以及几何和物理相关,Vector2是你必须要实现的一个类。我之前学C时就写过一个C的版本。 本篇就介绍我自己在JavaScript中定义的Vector2类…

基于ssm 框架的java 开发语言的 在线教育学习平台系统设计与实现 源码 论文

博主介绍:专注于Java(springboot ssm springcloud等开发框架) vue .net php phython node.js uniapp小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆…

AI周报(9.29-10.5)

AI应用-Elayne公司临终规划和自动化遗产结算 创业公司Elayne成立于2023年,由Adria Ferrier和Jake Grafenstein共同创立,Adria Ferrier担任CEO,总部位于科罗拉多州丹佛市。 Elayne公司专注于遗产规划和结算领域,通过人工智能技术…

实验4 循环结构

1、判断素数 【问题描述】从键盘输入一个大于1的正整数,判断是否为素数 【输入形式】输入一个正整数 【输出形式】输出该数是否为素数 【样例输入】10 【样例输出】10 is not a prime number 【样例说明】样例2 输入:-10 输出:error! #de…