8种字符串常见操作| 手把手教你入门Python之二十七

简介: 本节介绍8种字符串常⻅操作

上一篇:详解字符串| 手把手教你入门Python之二十六
下一篇:详解字符集和编码规则| 手把手教你入门Python之二十八

本文来自于千锋教育在阿里云开发者社区学习中心上线课程《Python入门2020最新大课》,主讲人姜伟。

字符串常见操作

字符串的常见操作包括:
获取⻓度:len
查找内容:find,index,rfind,rindex
判断:startswith,endswith,isalpha,isdigit,isalnum,isspace
计算出现次数:count
替换内容:replace
切割字符串:split,rsplit,splitlines,partition,rpartition
修改⼤⼩写:capitalize,title,upper,lower
空格处理:ljust,rjust,center,lstrip,rstrip,strip
字符串拼接:join
注意:在Python中,字符串是不可变的!所有的字符串相关⽅法,都不会改变原有的字符串,都是返回⼀个结果,在这个新的返回值⾥,保留了执⾏后的结果!

⼀、 len

len函数可以获取字符串的⻓度。

mystr = '今天天⽓好晴朗,处处好⻛光呀好⻛光'
print(len(mystr)) # 17 获取字符串的⻓度
AI 代码解读

⼆、 查找

查找相关的⽅法,使⽤⽅式⼤致相同,但是略有区别。

1. find

查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第⼀次出现的开始位置索引值,如果
不存在,则返回-1.
语法格式:

S.find(sub[, start[, end]]) -> int
AI 代码解读

示例:

mystr = '今天天⽓好晴朗,处处好⻛光呀好⻛光'
print(mystr.find('好⻛光')) # 10 '好⻛光'第⼀次出现时,'好'所在的位置
print(mystr.find('你好')) # -1 '你好'不存在,返回 -1
print(mystr.find('⻛', 12)) # 15 从下标12开始查找'⻛',找到⻛所在的位置试15
print(mystr.find('⻛光',1,10)) # -1 从下标1开始到12查找"⻛光",未找到,返回 -1
AI 代码解读

2. rfind

类似于 find()函数,不过是从右边开始查找。

mystr = '今天天⽓好晴朗,处处好⻛光呀好⻛光'
print(mystr.rfind('好')) # 14
AI 代码解读

image.png

3.index

跟find()⽅法⼀样,只不过,find⽅法未找到时,返回-1,⽽str未找到时,会报⼀个异常。
语法格式:

S.index(sub[, start[, end]]) -> int
AI 代码解读

4.rindex

类似于 index(),不过是从右边开始。

image.png

image.png

image.png

三、判断

python提供了⾮常丰富的⽅法,可以⽤来对⼀个字符串进⾏判断。

1. startswith

判断字符串是否以指定内容开始。 语法格式:

S.startswith(prefix[, start[, end]]) -> bool
AI 代码解读

示例:

mystr = '今天天⽓好晴朗,处处好⻛光呀好⻛光'
print(mystr.startswith('今')) # True
print(mystr.startswith('今⽇')) # False
AI 代码解读

2. endswith

判断字符串是否以指定内容结束。

mystr = '今天天⽓好晴朗,处处好⻛光呀好⻛光'
print(mystr.endswith('好⻛光')) #True
print(mystr.endswith('好⽇⼦')) #False
AI 代码解读

3. isalpha

判断字符串是否是纯字⺟。

mystr = 'hello'
print(mystr.isalpha()) # True
mystr = 'hello world'
print(mystr.isalpha()) # False 因为中间有空格
AI 代码解读

4. isdigit

判断⼀个字符串是否是纯数字,只要出现⾮0~9的数字,结果就是False.

mystr = '1234'
print(mystr.isdigit()) # True
mystr = '123.4'
print(mystr.isdigit()) # False
mystr = '-1234'
print(mystr.isdigit()) # False
AI 代码解读

5. isalnum

判断是否由数字和字⺟组成。只要出现了⾮数字和字⺟,就返回False.

mystr = 'abcd'
print(mystr.isalnum()) # True
mystr = '1234'
print(mystr.isalnum()) # True
mystr = 'abcd1234'
print(mystr.isalnum()) # True
mystr = 'abcd1234_'
print(mystr.isalnum()) # False
AI 代码解读

6. isspace

如果 mystr 中只包含空格,则返回 True,否则返回 False.

mystr = ''
print(mystr.isspace()) # False mystr是⼀个空字符串
mystr = ' '
print(mystr.isspace()) # True 只有空格
mystr = ' d'
print(mystr.isspace()) # False 除了空格外还有其他内容
AI 代码解读

四、count

返回 str在start和end之间 在 mystr⾥⾯出现的次数。
语法格式:

S.count(sub[, start[, end]]) -> int
AI 代码解读

示例:

mystr = '今天天⽓好晴朗,处处好⻛光呀好⻛光'
print(mystr.count('好')) # 3. '好'字出现三次
AI 代码解读

五、替换

替换字符串中指定的内容,如果指定次数count,则替换不会超过count次。

mystr = '今天天⽓好晴朗,处处好⻛光呀好⻛光'
newstr = mystr.replace('好', '坏')
print(mystr) # 今天天⽓好晴朗,处处好⻛光呀好⻛光 原字符串未改变!
print(newstr) # 今天天⽓坏晴朗,处处坏⻛光呀坏⻛光 得到的新字符串⾥,'好'被修改成了'坏'
newstr = mystr.replace('好','坏',2) # 指定了替换的次数
print(newstr) # 今天天⽓坏晴朗,处处坏⻛光呀好⻛光 只有两处的'好'被替换成了'坏'
AI 代码解读

六、内容分隔

内容分隔主要涉及到split,splitlines,partition和rpartition四个⽅法。

split

以指定字符串为分隔符切⽚,如果 maxsplit有指定值,则仅分隔 maxsplit+1 个⼦字符串。返回的结果是⼀个列表。

mystr = '今天天⽓好晴朗,处处好⻛光呀好⻛光'
result = mystr.split() # 没有指定分隔符,默认使⽤空格,换⾏等空⽩字符进⾏分隔
print(result) #['今天天⽓好晴朗,处处好⻛光呀好⻛光'] 没有空⽩字符,所以,字符串未被分隔
result = mystr.split('好') # 以 '好' 为分隔符
print(result) # ['今天天⽓', '晴朗,处处','⻛光呀,'⻛光']
result = mystr.split("好",2) # 以 '好' 为分隔符,最多切割成3份
print(result) # ['今天天⽓', '晴朗,处处', '⻛光呀好⻛光']
AI 代码解读

rsplit

⽤法和split基本⼀致,只不过是从右往左分隔。

mystr = '今天天⽓好晴朗,处处好⻛光呀好⻛光'
print(mystr.rsplit('好',1)) #['今天天⽓好晴朗,处处好⻛光呀', '⻛光']
AI 代码解读

splitlines

按照⾏分隔,返回⼀个包含各⾏作为元素的列表。

mystr = 'hello \nworld'
print(mystr.splitlines())
AI 代码解读

partition

把mystr以str分割成三部分,str前,str和str后,三部分组成⼀个元组

mystr = '今天天⽓好晴朗,处处好⻛光呀好⻛光'
print(mystr.partition('好')) # ('今天天⽓', '好', '晴朗,处处好⻛光呀好⻛光')
AI 代码解读

rpartition

类似于 partition()函数,不过是从右边开始.

mystr = '今天天⽓好晴朗,处处好⻛光呀好⻛光'
print(mystr.rpartition('好')) # ('今天天⽓好晴朗,处处好⻛光呀', '好', '⻛光')
AI 代码解读

七、修改⼤⼩写

修改⼤⼩写的功能只对英⽂有效,主要包括,⾸字⺟⼤写capitalize,每个单词的⾸字⺟⼤写title,全⼩写lower,
全⼤写upper.

capitalize

第⼀个单词的⾸字⺟⼤写。

mystr = 'hello world'
print(mystr.capitalize()) # Hello world
AI 代码解读

title

每个单词的⾸字⺟⼤写。

mystr = 'hello world'
print(mystr.title()) # Hello World
AI 代码解读

lower

所有都变成⼩写。

mystr = 'hElLo WorLD'
print(mystr.lower()) # hello world
AI 代码解读

upper

所有都变成⼤写。

mystr = 'hello world'
print(mystr.upper()) #HELLO WORLD
AI 代码解读

image.png

image.png

⼋、空格处理

Python为我们提供了各种操作字符串⾥表格的⽅法。

1. ljust

返回指定⻓度的字符串,并在右侧使⽤空⽩字符补全(左对⻬)。

str = 'hello'
print(str.ljust(10)) # hello 在右边补了五个空格
AI 代码解读

2. rjust

返回指定⻓度的字符串,并在左侧使⽤空⽩字符补全(右对⻬)。

str = 'hello'
print(str.rjust(10)) # hello在左边补了五个空格
AI 代码解读

3. center

返回指定⻓度的字符串,并在两端使⽤空⽩字符补全(居中对⻬)

str = 'hello'
print(str.center(10)) # hello 两端加空格,让内容居中
AI 代码解读

4. lstrip

删除 mystr 左边的空⽩字符。

mystr = ' he llo '
print(str.lstrip()) #he llo 只去掉了左边的空格,中间和右边的空格被保留
AI 代码解读

5. rstrip

删除 mystr 右边的空⽩字符。

mystr = ' he llo '
print(str.rstrip()) # he llo右边的空格被删除
AI 代码解读

6. strip

删除两断的空⽩字符。

str = ' he llo '
print(str.strip()) #he llo
AI 代码解读

image.png

image.png

字符串拼接

把参数进⾏遍历,取出参数⾥的每⼀项,然后再在后⾯加上mystr
语法格式:

S.join(iterable)
AI 代码解读

示例:

mystr = 'a'
print(mystr.join('hxmdq')) #haxamadaq 把hxmd⼀个个取出,并在后⾯添加字符a. 最后的 q 保
留,没有加 a
print(mystr.join(['hi','hello','good'])) #hiahelloagood
AI 代码解读

作⽤:可以把列表或者元组快速的转变成为字符串,并且以指定的字符分隔。

txt = '_'
print(txt.join(['hi','hello','good'])) #hi_hello_good
print(txt.join(('good','hi','hello'))) #good_hi_hello
AI 代码解读

字符串运算符

  1. 字符串和字符串之间能够使⽤加法运算符,作⽤是将两个字符串拼接成为⼀个字符串。例
    如: 'hello' + 'world' 的结果是 'helloworld'
  2. 字符串和数字之间可以做乘法运算,结果是将指定的字符串重复多次。例如: 'hello'*2 的结果
    是 hellohello
  3. 字符串和字符串之间,如果使⽤⽐较运算符进⾏计算,会获取字符对应的编码,然后进⾏⽐较。
  4. 除上述⼏种运算符以外,字符串默认不⽀持其他运算符。
    image.png
目录
打赏
0
0
0
0
4751
分享
相关文章
Python入门:3.Python的输入和输出格式化
在 Python 编程中,输入与输出是程序与用户交互的核心部分。而输出格式化更是对程序表达能力的极大增强,可以让结果以清晰、美观且易读的方式呈现给用户。本文将深入探讨 Python 的输入与输出操作,特别是如何使用格式化方法来提升代码质量和可读性。
Python入门:3.Python的输入和输出格式化
Python入门:1.Python介绍
Python是一种功能强大、易于学习和运行的解释型高级语言。由**Guido van Rossum**于1991年创建,Python以其简洁、易读和十分工程化的设计而带来了庞大的用户群体和丰富的应用场景。这个语言在全球范围内都被认为是**创新和效率的重要工具**。
Python入门:1.Python介绍
python字符串类型及操作
本文主要讲解字符串类型的表示、操作符、处理函数、处理方法及格式化。内容涵盖字符串的定义、表示方法(单双引号、三引号)、索引与切片、特殊字符转义、常见操作符(如+、*、in等)、处理函数(如len()、str()、chr()等)、处理方法(如.lower()、.split()等)以及格式化方式(如.format())。通过实例代码详细介绍了字符串的各种用法和技巧,帮助读者全面掌握字符串操作。
python字符串类型及操作
Python入门:8.Python中的函数
### 引言 在编写程序时,函数是一种强大的工具。它们可以将代码逻辑模块化,减少重复代码的编写,并提高程序的可读性和可维护性。无论是初学者还是资深开发者,深入理解函数的使用和设计都是编写高质量代码的基础。本文将从基础概念开始,逐步讲解 Python 中的函数及其高级特性。
Python入门:8.Python中的函数
Python入门:6.深入解析Python中的序列
在 Python 中,**序列**是一种有序的数据结构,广泛应用于数据存储、操作和处理。序列的一个显著特点是支持通过**索引**访问数据。常见的序列类型包括字符串(`str`)、列表(`list`)和元组(`tuple`)。这些序列各有特点,既可以存储简单的字符,也可以存储复杂的对象。 为了帮助初学者掌握 Python 中的序列操作,本文将围绕**字符串**、**列表**和**元组**这三种序列类型,详细介绍其定义、常用方法和具体示例。
Python入门:6.深入解析Python中的序列
Python入门:9.递归函数和高阶函数
在 Python 编程中,函数是核心组成部分之一。递归函数和高阶函数是 Python 中两个非常重要的特性。递归函数帮助我们以更直观的方式处理重复性问题,而高阶函数通过函数作为参数或返回值,为代码增添了极大的灵活性和优雅性。无论是实现复杂的算法还是处理数据流,这些工具都在开发者的工具箱中扮演着重要角色。本文将从概念入手,逐步带你掌握递归函数、匿名函数(lambda)以及高阶函数的核心要领和应用技巧。
Python入门:9.递归函数和高阶函数
Python入门:7.Pythond的内置容器
Python 提供了强大的内置容器(container)类型,用于存储和操作数据。容器是 Python 数据结构的核心部分,理解它们对于写出高效、可读的代码至关重要。在这篇博客中,我们将详细介绍 Python 的五种主要内置容器:字符串(str)、列表(list)、元组(tuple)、字典(dict)和集合(set)。
Python入门:7.Pythond的内置容器
Python入门:2.注释与变量的全面解析
在学习Python编程的过程中,注释和变量是必须掌握的两个基础概念。注释帮助我们理解代码的意图,而变量则是用于存储和操作数据的核心工具。熟练掌握这两者,不仅能提高代码的可读性和维护性,还能为后续学习复杂编程概念打下坚实的基础。
Python入门:2.注释与变量的全面解析
Python 编程基础与实战:从入门到精通
本文介绍Python编程语言,涵盖基础语法、进阶特性及实战项目。从变量、数据类型、运算符、控制结构到函数、列表、字典等基础知识,再到列表推导式、生成器、装饰器和面向对象编程等高级特性,逐步深入。同时,通过简单计算器和Web爬虫两个实战项目,帮助读者掌握Python的应用技巧。最后,提供进一步学习资源,助你在Python编程领域不断进步。
Python入门:4.Python中的运算符
Python是一间强大而且便捷的编程语言,支持多种类型的运算符。在Python中,运算符被分为算术运算符、赋值运算符、复合赋值运算符、比较运算符和逻辑运算符等。本文将从基础到进阶进行分析,并通过一个综合案例展示其实际应用。