IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python中对字符串的相关操作 -> 正文阅读

[Python知识库]python中对字符串的相关操作

一、下标

下标又叫索引,也就是编号;其作用是通过下标快速的找到数据(下标从0开始)

例:

a = 'python'
print(a[0])
print(a[1])

结果:

?二、切片

切片:截取操作对象其中的一部分(字符串、列表、元组都可以进行切片操作)

语法:

序列[ 开始位置下标 : 结束位置下标 : 步长]

注意:

1.不包括结束位置下标对应的数据,正负整数都可

2.步长是选取的间隔,正负整数都可,默认步长为1

例:

a = 'python'
print(a[0:5:2])

结果:

应用:

a = '012345'
print(a[0:5:])  # 结果:01234      不写步数,默认为1
print(a[5:0:-1])  # 结果:54321    从下标5到0,方向为从右到左,步数方向也必须为从右到左,否则不会输出任何结果
print(a[0:5:2])  # 结果:024       步数为2,代表每次走两步所以是024
print(a[2:])  # 结果:2345         结束位置下标不写,默认到结尾
print(a[:5])  # 结果:01234          开始位置下标不写,默认起始位置为开头
print(a[:])  # 结果:012345        开始和结束位置都不写,默认从开头到结尾
print(a[::-1])  # 结果:543210     步长为-1,方向从右到左,所以最后输出也从右到左
print(a[-5:-1:])  # 结果:1234     最后一个数的下标为-1,从右往左依次减一,所以-5对应1
print(a[-5:-1:-1])  # 结果:无     下标方向为从左到右,而步长方向为右到左,方向不同,不会输出结果

三、查找

字符串的查找:查找子串在字符串中的位置或者出现次数

1.find():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始位置下标,否则返回-1

语法:

字符串序列.find(子串,开始位置下标,结束位置下标)

注意:

开始位置和结束位置下标可以省略,表示在整个字符串中查找

2.index():检测某个子串是否包含在这个字符串中,如果在则返回这个子串的下标,否则会报错

语法:

字符串序列.index(子串,开始位置下标,结束位置下标)

注意:

开始位置和结束位置下标可以省略,表示在整个字符串中查找

3.rfind():和find()功能相同,但查找方向从右侧开始

4.rindex():和index()功能相同,但查找方向从右侧开始

5.count():返回某个子串在字符串中出现的次数

语法:

字符串序列.count(子串,开始位置下标,结束位置下标)

a = '0123456789234'
print(a.find('3'))              # 结果:3
print(a.find('234'))            # 结果:2
print(a.find('3', 0, 2))        # 结果:-1,没有查找到find会输出-1
print(a.index('3'))             # 结果:3
print(a.index('234'))           # 结果:2
# print(a.index('3', 0, 2))     # 没有查找到结果,程序报错
print(a.count('2'))             # 结果:2,一共有两个2,所以输出2
print(a.rfind('234'))           # 结果:10,从右开始所以先查找到末尾的‘234’
print(a.rindex('234'))          # 结果:10,从右开始所以先查找到末尾的‘234’

四、修改

1.字符串的修改(常用)

修改:通过函数的形式修改字符串中的数据

(1)replace():替换

语法:

字符串序列.replace(旧子串,新子串,替换次数)

应用:

a = '123123'
b = a.replace('1', '0', 1)
print(b)                        # 结果:'023123'替换一次,只将第一个1改为0
print(a)                        # 结果:'123123'说明原字符串并未被修改
b1 = a.replace('1', '0')
print(b1)                       # 结果:'023023'替换次数未写,所有1都被替换
b2 = a.replace('1', '0', 5)
print(b2)                       # 结果:'023023'替换次数大于旧字串个数,所有1都被替换

注意:?

<1>所写替换次数大于字符串中旧子串的数量或者不写替换次数则会将所有旧子串都替换

<2>replace()函数并不会修改原本的字符串,它有返回值,返回值为修改之后的字符串

<3>数据分为两种:可变类型和不可变类型,而字符串属于不可变类型(与<2>相关联)

(2)split():按照指定字符分割字符串(返回一个列表,丢失分割字符)

语法:

字符串序列.split(分割字符,num)

应用:

a = '0120120120'
b1 = a.split('0')               # 不写切割次数默认全部切割
print(b1)
b2 = a.split('0', 2)
print(b2)
b3 = a.split('0', 5)            # 切割次数过大效果等同于全部切割
print(b3)

结果:

注意:

num表示分割字符出现的次数,即将来返回数据为num+1个

(3)join():将多个字符串合并成一个新的字符串

语法:

字符或子串.join(多字符串组成的序列)

应用:

a = ['a', 'b', 'c']
b = '***'.join(a)
print(b)

结果:?

注意:

join将序列中的多字符串中间用字符或子串连接起来

2.字符串的修改之大小写转换

(1)capitalize():将字符串第一个字符转行成大写

应用:

a = 'hello world and hello PYTHON'
b = a.capitalize()
print(b)

结果:

注意:capitalize()函数转换后,只有字符串第一个字符大写,其他都为小写(原来是大写的也转化为小写)

(2)title():将字符串每个单词首字母转换成大写(其余均为小写)

应用:

a = 'hello world and hello PYTHON'
print(a.title())

结果:

(3)lower():将字符串中大写转换为小写

应用:

a = 'hello world and hello PYTHON'
print(a.lower())

结果:

(4)upper():将字符串中小写转化为大写

应用:

a = 'hello world and hello PYTHON'
print(a.upper())

结果:

3.字符串的修改之删除空白字符?

(1)lstrip():删除字符串左侧空白字符

(2)rstrip():删除字符串右侧空白字符

(3)strip():删除字符串两侧空白字符

应用:

a = '   hello world and hello PYTHON    '
print(a.lstrip())
print(a.rstrip())
print(a.strip())

结果:

(右侧一部分可以被光标选中说明右侧有空白)?

4.字符串的修改之字符串的对齐

(1)ljust():返回一个原字符串左对齐,并使用指定字符(默认为空格)填充至对应长度的新字符串

语法:

字符串序列.ljust(长度,填充字符)

(2)rjust():返回一个原字符串右对齐(其他与ljust()一样)

(3)center():返回一个原字符串居中对齐(其他与ljust()一样)

应用:

a = 'python'
print(a.ljust(1))           # 所填长度小于字符串长度结果与原字符串一致
print(a.ljust(10, '_'))     # 字符串长度为6,设置长度为10并且为左对齐,所以字符串右侧会有四个填充字符
print(a.rjust(10))          # 默认填充字符为空格
print(a.center(10, '_'))

结果:

?5.字符串的修改之判断

(1)startswith():检查字符串是否以指定子串开头,是则返回True,否则返回False。如果没有设置开始和结束位置下标,则在指定范围内检查

语法:

字符串序列.startswith(子串,开始位置下标,结束位置下标)

(2)endswith():检查字符是否以指定子串结尾(其余与startswith一致)

应用:

a = 'hello world and hello python'
print(a.startswith('hello'))
print(a.startswith('hel'))
print(a.endswith('thon'))
print(a.endswith('ons'))

结果:

?(3)isalpha():如果字符串中至少有一个字符并且所有字符都是字母则返回True,否则返回False

(4)isdigit():如果字符串只包括数字则返回True否则返回False

(5)isalnum():如果字符串中至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False

(6)isspace():如果字符串只包括空白则返回True否则返回False

应用:

a = 'hello1world2'
print(a.isalpha())      # 字母
print(a.isdigit())      # 数字
print(a.isalnum())      # 字母或数字
print(a.isspace())      # 空白

结果:

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-30 12:42:21  更:2021-07-30 12:42:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/25 14:06:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计