在 Python 中,字符串是可能包含特殊字符或字母数字字符的字符序列。
字符串的一个示例是 “we meet on Friday at 08:00 am”。你可以访问字符串的特定子部分,即子字符串。
我们可以将子字符串定义为字符串中的字符序列。例如,在前面的示例中,Python 子字符串可以是 “Friday”、“at” 和 “meet”。
Python 提供了不同的方式和方法来生成子字符串、检查子字符串是否存在、获取子字符串的索引等。
你可以使用字符串的索引进行切片,来从字符串中提取子字符串,如下所示:
string[start:stop:step]
start
起始值: 子字符串的开始位置的索引stop
结束值: 子字符串的结束位置的索引,注意不包括stop
出的字符step
步长: 一个数字,指定切片的长度,默认值为 1索引可以是正数或负数。正索引从字符串的开头开始一直到字符串的末尾,负索引从字符串的末尾开始一直到字符串的开头。
在本文中,我们将学习如何在 Python 中执行与子字符串相关的各种操作。
此示例将向你展示如何从字符串中切分前 5 个字符。
string = "hello world"
print(string[:5])
此处定义结束位置的索引为5
,起始位置的索引默认为0
。
输出是‘hello’
,注意索引5
对应的字符为' '
,而不是'o'
此示例将向你展示如何获取字符串中的字符从索引3到索引5之间的子字符串。
string = "hello world"
print(string[3:5])
输出是 'lo’
。
要获取最后一个字符,请使用 -1
索引(负索引)。如以下示例:
string = "pythontip"
print(string[-1])
输出是 'p'
。
在本例中,你将从字符串中切分最后 4 个字符。在这里,使用负索引从字符串的末尾开始切片:
string = "pythontip"
print(string[-4:])
输出是 'ntip'
。
你可以在指定开始索引和结束索引后对字符串进行带有步长的切片。默认情况下,步长为1
,但在以下示例中,步长为2
:
string = "welcome to pythontip"
print(string[::2])
输出是 'wloet yhni'
。
有时你想检查字符串中是否存在子字符串。以下示例将验证子字符串 “python” 是否在字符串中:
substring = "python"
string = "welcome to pythontip"
print(substring in string)
如果存在,则返回True
,否则返回False
。此处,输出为 True
。
你也可以使用 find()
方法检查字符串中是否存在子字符串。
如下示例:
substring = "zz"
string = "hello world"
print(string.find(substring))
如果存在,则返回子字符串最左侧的索引,否则返回 -1
(这意味着它不存在)。
这里的输出是 -1
,这意味着 “hello world” 中不存在 “zz”。
你可以根据其索引对特定字符进行切片,本质是类似数组访问,指定了位置。
string = "hello world"
print(string[4])
输出是 'o'
。
你可以使用 split()
方法来创建子字符串列表。让我们看看下面的例子:
string = "welcome to pythontip"
print(string.split())
输出是 ['welcome', 'to', 'pythontip']
。
要反转字符串,步长必须是负值,例如 -1
。
string = "welcome to pythontip"
print(string[::-1])
输出是 'pitnohtyp ot emoclew'
。
可以使用count()
方法来确定特定子字符串在字符串中的次数:
string = "we will have a quick coding lesson this afternoon"
print(string.count('noon'))
输出是 1。
恭喜,你已经看完了这篇文章!希望你已经了解了有关 Python 子字符串的新知识。
欢迎大家点赞、收藏、支持!。
pythontip 出品,Happy Coding!
公众号: 夸克编程
我们的小目标:让天下木有难学的Python!