Python字符串操作方法汇总(附带实例)
在 Python 程序中,对字符串的操作可以分为很多种,包括拼接字符串、截取字符串、获取字符串长度、分割字符串、合并字符串、字符串大小写转换、统计字符串、检索字符串等。
Python 提供了多种内建的方法和函数来处理字符串,接下来逐一讲解。
在 Python 程序,拼接字符串的方式有两种。首先,可以套用下面的语法格式:
输入代码:
此外,可使用“+”拼接字符串。输入代码:
在实际生活中,经常会出现使用字符串拼接的情况。例如,客户林先生在充话费后,可收到短信“尊敬的客户林先生,您已经成功充话费100.00元”。这句话中的“林先生”和“100.00”这两个字符串是会改变的,剩余的内容适用于每一个客户。此时可单独定义会改变的字符串。
输入代码:
下面使用方括号获取单个字符,语法为:
下面截取字符串。输入代码:
下面使用负整数截取字符串。输入代码:
len() 函数的语法为:
例如:
在 Python 中,数字、英文字母、小数点、下画线、空格各占一个字节,一个汉字占 2~4 个字节,具体占多少个字节取决于字符串的编码方式。
Python 程序中常用的编码方式包括 GBK 和 UTF-8。汉字在使用 GBK 编码时占用 2 个字节,在使用 UTF-8 编码时一般占用 3 个字节。
输入代码:
在分割字符串时,可以限制分隔次数。输入代码:
join() 函数的语法为:
输入代码:
输入代码:
输入代码:
输入代码:
输入代码:
index() 函数的语法为:
输入代码:
ljust() 函数的语法为:
输入代码:
与 ljust() 函数类似,rjust() 函数可进行字符串的右对齐操作。输入代码:
使用 center() 函数进行居中对齐操作时,如果字符串的长度不够,则会先补右边的内容,再补左边的内容。输入代码:
endswith() 函数用于检索字符串是否以指定字符串结尾,如果结尾字符串为指定的字符串,则返回 True,否则返回 False。输入代码:
下面使用 format() 函数进行格式化输出字符串。输入代码:
Python 提供了多种内建的方法和函数来处理字符串,接下来逐一讲解。
Python字符串拼接
字符串拼接是指将两个及以上的字符串拼接成一个字符串。在 Python 程序,拼接字符串的方式有两种。首先,可以套用下面的语法格式:
strname = 'str1''str2''str3'
输入代码:
cloudy = 'php' 'Python' 'C++' '95' print(cloudy)运行结果为:
phpPythonC++95
由此可见,四个字符串可拼接为一个字符串 cloudy。此外,可使用“+”拼接字符串。输入代码:
cloudy = 'php' peter = 'Python' angel = 'C+++' jane = '95' print(cloudy + peter + angel + jane)运行结果为:
phpPythonC++95
在实际生活中,经常会出现使用字符串拼接的情况。例如,客户林先生在充话费后,可收到短信“尊敬的客户林先生,您已经成功充话费100.00元”。这句话中的“林先生”和“100.00”这两个字符串是会改变的,剩余的内容适用于每一个客户。此时可单独定义会改变的字符串。
输入代码:
name = '林先生' money = '100.00' message = '尊敬的客户 ' + name + ',您已经成功充话费 ' + money + '元' print(message)运行结果为:
尊敬的客户林先生,您已经成功充话费100.00元
Python截取字符串
字符串由多个字符构成。我们可通过字符串的索引截取字符串、获取指定的字符、返回指定字符的索引等。下面使用方括号获取单个字符,语法为:
strname[index]strname 为字符串的名字,index 为索引,索引可以是正整数或负整数。如果索引超出字符串的范围,则会报错。
下面截取字符串。输入代码:
name="hello world!" print(name[4])运行结果为:
o
由于字符串的索引是从 0 开始的,所以 name[4] 表示字符 o。下面使用负整数截取字符串。输入代码:
name="hello world!" print(name[-4])运行结果为:
r
name[-1] 为字符“!”,name[-2] 为字符 d,以此类推,name[-4] 为字符 r。Python字符串长度
在 Python 程序中,想获取字符串长度可以使用 len() 函数。len() 函数的语法为:
len(string)
例如:
name = 'hello world!' print(len(name))运行结果为:
12
字符串“hello world!”的长度为 12,单词与单词之间的空格也算一个字符。在 Python 中,数字、英文字母、小数点、下画线、空格各占一个字节,一个汉字占 2~4 个字节,具体占多少个字节取决于字符串的编码方式。
Python 程序中常用的编码方式包括 GBK 和 UTF-8。汉字在使用 GBK 编码时占用 2 个字节,在使用 UTF-8 编码时一般占用 3 个字节。
1) GBK 编码下的字符串
输入代码:name = '我喜欢学习' print(len(name.encode('gbk')))运行结果为:
10
1 个汉字占用 2 个字节,5 个汉字占用 10 个字节。2) UTF-8编码下的字符串
输入代码:name = '我喜欢学习' print(len(name.encode('UTF-8')))运行结果为:
15
1 个汉字占用 3 个字节,5 个汉字占用 15 个字节。Python分割字符串
分割字符串可以使用 split() 函数,语法为:str.split(sep,maxsplit)str 表示需要分割的字符串;sep 表示指定的分隔符,可以包含多个字符;maxsplit 表示可选参数,用于指定分割的次数,可以不填写。
输入代码:
name="hellohello" print(name.split('ll',))运行结果为:
['he', 'ohe', 'o']
在分割字符串时,可以限制分隔次数。输入代码:
name="hellohellohellohello" print(name.split('ll',3))运行结果为:
['he', 'ohe', 'ohe','ohello']
Python合并字符串
join() 函数用于合并字符串,此函数会使用指定的分隔符,将列表(元组)中的多个字符串合并在一起。join() 函数的语法为:
newstr = str.join(iterable)newstr 表示合并后的新字符串;str 用于指定分隔符;iterable 表示原字符串,可以是列表、元组等形式。
输入代码:
name="hello" abc='好好学习' print(name.join(abc))运行结果为:
好hello好hello学hello习
Python字符串大小写转换
字符串可以进行大小写转换,转换函数如下:- title():将字符串转换为首字母大写、其他字母小写的形式;
- lower():将字符串的全部字母转换为小写字母;
- upper():将字符串的全部字母转换为大写字母。
输入代码:
name = 'cyuyanzhongwenwang' print(name.title())运行结果为:
Cyuyanzhongwenwang
输入代码:
name = 'CYUYANZHONGWENWANG' print(name.lower())运行结果为:
cyuyanzhongwenwang
输入代码:
name = 'cyuyanzhongwenwang' print(name.upper())运行结果为:
CYUYANZHONGWENWANG
Python统计字符串
count() 函数可对字符串进行统计操作,语法为:str.count('sub', start, end)str 表示需要统计的字符串;sub 表示要检索的字符串;start 指定检索的开始位置,如果不指定,则默认从头开始检索字符串;end 指定检索的结束位置,如果不指定,则默认在末尾处停止检索字符串。
输入代码:
name = 'lin.fu.r.o.n.g' print(name.count('.', 0, -1))运行结果为:
5
参数 0 表示从头开始检索字符串,参数 -1 表示在末尾处停止检索字符串,字符串共出现 5 次“.”字符。Python检索字符串位置
检索字符串位置可以使用 index() 函数。如果要检索的字符串不存在,则 index() 函数会报错。如果要检索的字符串出现多次,则 index() 函数只显示首次出现字符串的位置。index() 函数的语法为:
str.index('sub', start, end)
输入代码:
name = 'linfu.r.o.n.g' print(name.index('.', 0, -1))运行结果为:
5
由此可见,index() 函数从头开始检索,在末尾处结束检索,首次出现字符“.”的索引为 5。Python字符串对齐
有 3 种函数可以进行字符串的文本对齐工作:- ljust() 函数可进行字符串左对齐操作;
- rjust() 函数可进行字符串右对齐操作;
- center() 函数可进行字符串居中对齐操作。
ljust() 函数的语法为:
str.ljust(width,'addchar')str 表示需要对齐的字符串;width 表示字符串占用的总长度;addchar 表示要对齐的字符串长度不足时,使用此字符串补够总长度。
输入代码:
name = 'C语言中文网' address = 'https://c.biancheng.net/' print(name.ljust(11, '-')) print(address.ljust(11, '-'))运行结果为:
C语言中文网-----
https://c.biancheng.net/
与 ljust() 函数类似,rjust() 函数可进行字符串的右对齐操作。输入代码:
name = 'C语言中文网' address = 'https://c.biancheng.net/' print(name.rjust(11, '-')) print(address.rjust(11, '-'))运行结果为:
-----C语言中文网
https://c.biancheng.net/
使用 center() 函数进行居中对齐操作时,如果字符串的长度不够,则会先补右边的内容,再补左边的内容。输入代码:
name = 'C语言中文网' address = 'https://c.biancheng.net/' print(name.center(11, '-')) print(address.center(11, '-'))运行结果为:
---C语言中文网--
https://c.biancheng.net/
Python检索字符串
startswith() 函数用于检索字符串中是否存在指定的字符串,如果存在指定的字符串,则返回 True,否则返回 False。输入代码:name = 'C语言中文网' print(name.startswith('语', 1))运行结果为:
True
endswith() 函数用于检索字符串是否以指定字符串结尾,如果结尾字符串为指定的字符串,则返回 True,否则返回 False。输入代码:
name = 'C语言中文网' print(name.endswith('网'))运行结果为:
True
Python格式化输出字符串
format() 函数可用于格式化输出,所有数据都可以使用某种指定的格式进行输出。下面使用 format() 函数进行格式化输出字符串。输入代码:
student = '姓名:{:s}\t学号:{:s}' print(student.format('林富荣', '20231680001')) print(student.format('林小云', '20231680027'))运行结果为:
姓名:林富荣 学号:20231680001
姓名:林小云 学号:20231680027