内容正文:
第3章 字符串
1
学习目标/Target
掌握字符串的定义方式,能够准确定义字符串
掌握字符串的索引和切片,能够通过索引和切片获取字符串的子串
掌握字符格式化方式,能够通过%、format()和f-string格式化字符串
2
学习目标/Target
掌握字符串的处理函数,能够通过len()函数和ord函数实现特定功能
掌握字符串的处理方法,能够根据需要选择合适的方法处理字符串
熟悉字符串的运算符,能够通过+和*运算符实现字符串的拼接和复制
3
章节概述/ Summary
日常生活中经常会看见一些文本类型的数据,比如电子邮件、评论、个人资料等,这些数据的内容形式比较复杂,包括字母、数字、标点符号、特殊符号、汉字等,程序中使用字符串表示这些信息。本章将针对字符串的内容进行详细讲解。
4
目录/Contents
01
字符串的定义
字符串的索引和切片
字符串格式化
实例:制作高铁名片
02
03
04
5
目录/Contents
05
字符串运算符
字符串处理函数
字符串处理方法
06
07
实例:文本检测程序
08
6
字符串处理方法
3.7
7
3.7.1 字符串大小写转换的方法
函数 功能说明
upper() 将字符串中的字母全部转换为大写字母,返回转换后的新字符串
lower() 将字符串中的字母全部转换为小写字母,返回转换后的新字符串
capitalize() 将字符串中的首字母转换为大写形式,其余字母转换为小写形式,返回转换后的新字符串
title() 将字符串中每个单词的首字母转换为大写形式,其余字母转换为小写形式,返回转换后的新字符串
在一些特定情况下会对英文单词的大小写形式有着特殊的要求。例如,专有名词的简称必须是全字母大写,如CBA、CCTV等。Python提供了一些用于大小写转换的方法,具体如下:
8
3.7.1 字符串大小写转换的方法
字符串的大小写转换方法的使用示例:
string = 'interest IS the BEST teacher'
upper_str = string.upper() # 所有字母转换为大写字母
lower_str = string.lower() # 所有字母转换为小写字母
cap_str = string.capitalize() # 首字母转换为大写字母
# 每个单词的首字母转换为大写字母,其余字母转换成小写字母
title_str = string.title()
print(f'全部转换为大写字母:{upper_str}')
print(f'全部转换为小写字母:{lower_str}')
print(f'首字母转换为大写字母:{cap_str}')
print(f'单词首字母转换为大写字母:{title_str}')
9
3.7.2 查找与替换字符串的方法
1. find()方法
find()方法用于查找字符串中是否包含子串,既可以在整个字符串中查找,也可以在指定范围内查找。若找到子串则返回子串首次出现的索引,否则返回-1。
find(sub, start=None, end=None)
words = '与其临渊羡鱼,不如退而结网。'
result_one = words.find('鱼’)
print(result_one)
result_two = words.find('鱼', 6)
print(result_two)
示例代码:
10
3.7.2 查找与替换字符串的方法
2. replace()方法
replace()方法用于将当前字符串中的指定子串替换成新的子串,可以指定替代次数,并返回替换后的新字符串。
replace(old, new, count=-1)
string = 'All things Are difficult before they Are easy.'
new_string = string.replace('Are', 'are') # 不指定替换次数
print(new_string)
new_string = string.replace('Are', 'are', 1) # 指定替换次数
print(new_string)
示例代码:
11
3.7.3 分割与拼接字符串的方法
split()方法用于根据指定分隔符对字符串进行分割,分割后返回一个列表,该列表中保存了多个字符串。
split(sep=None, maxsplit=-1)
参数sep表示分隔符,默认值为空格,也可被设置为其他字符,例如空格、换行(
)、制表符(\t)等;
参数maxsplit表示分割的次数,默认值是-1,代表不限制分割次数。
1. split()方法
12
3.7.3 分割与拼接字符串的方法
分割字符串的示例如下:
string = 'All things Are difficult before they Are easy.'
new_str = string.split() # 根据空格分割字符串
print(new_str)
new_str = string.split(sep='A') # 根据字符'A'分割字符串
print(new_str)
# 根据字符'A'分割字符串,分割两次
new_str = string.split(sep='A', maxsplit=2)
print(new_str)
1. split()方法
13
3.7.3 分割与拼接字符串的方法
join()方法用于将某个字符串作为连接符,通过连接符拼接可迭代对象的每个元素,并返回一个新的字符串。可迭代对象可以是字符串、列表、元组、集合、字典。
join(iterable)
2. join()方法
14
3.7.3 分割与拼接字符串的方法
symbol = '**'
string = 'Python'
new_str = symbol.join(string) # 通过symbol拼接字符串中的每个字符
print(new_str)
# 通过symbol拼接列表中的每个字符串
new_str = symbol.join(['Let', 'us', 'learn', 'Python'])
print(new_str)
拼接字符串的示例如下:
2. join()方法
15
实例:文本检测程序
3.8
16
3.8 实例:文本检测程序
在互联网发展的初期,违法违规乱象危害了网络环境,侵犯了人民的正当权益。为了保障网络安全,维护国家和人民的利益,大多数网络平台会采取不良词语屏蔽的策略来营造一个风清气正的网络环境。我们都是形成网络语言生态的一份子,保持网络环境的健康纯洁,需要我们每个人从自身做起。
17
本实例要求实现文本检测程序,该程序只要检测到文本中出现“最优秀”,就替换成“较优秀”。文本内容如下:
我们拥有多年的品牌战略规划及标志设计、商标注册经验;专业提供公司标志设计与商标注册一条龙服务。我们拥有最优秀且具有远见卓识的设计师,使我们的策略分析严谨,设计充满创意。我们有信心为您缔造最优秀的品牌形象设计服务,将您的企业包装得更富价值。
3.8 实例:文本检测程序
18
2.7 实例:毛遂自荐
根据前面的描述可知,我们需要先准备一段文本,之后在这段文本中查找词语“最优秀”,将 “最优秀”替换为“较优秀”,具体实现思路可以分成以下三步:
(1)定义一个变量,用于保存文本的内容。
(2)通过find()方法从整个文本中查找词语“最优秀”。
(3)通过replace()方法将该文本中的词语“最优秀”替换成“较优秀”。
19
本章小结
本章主要介绍了字符串相关的知识,包括字符串的定义、字符串的索引与切片、字符串格式化、字符串运算符、字符串处理函数和方法。希望通过本章的学习,读者可以掌握字符串的基本使用,能够灵活运用字符串开发程序。
本
章
小
结
20
$$