Python 子字符串——如何对字符串进行切片

243 阅读4分钟

在 Python 中,字符串是可能包含特殊字符或字母数字字符的字符序列

字符串的一个示例是 "we meet on Friday at 08:00 am"。你可以访问字符串的特定子部分,即子字符串。

我们可以将子字符串定义为字符串中的字符序列。例如,在前面的示例中,Python 子字符串可以是 "Friday"、"at" 和 "meet"。

如何生成子字符串

Python 提供了不同的方式和方法来生成子字符串、检查子字符串是否存在、获取子字符串的索引等。

你可以使用字符串的索引进行切片,来从字符串中提取子字符串,如下所示:

string[start:stop:step]

  • start 起始值: 子字符串的开始位置的索引
  • stop 结束值: 子字符串的结束位置的索引,注意不包括stop出的字符
  • step 步长: 一个数字,指定切片的长度,默认值为 1

image--2-

索引可以是正数或负数。正索引从字符串的开头开始一直到字符串的末尾,负索引从字符串的末尾开始一直到字符串的开头。

在本文中,我们将学习如何在 Python 中执行与子字符串相关的各种操作。

如何在获取字符串的前n个字符

此示例将向你展示如何从字符串中切分前 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'

如何在获取字符串的最后n个字符

在本例中,你将从字符串中切分最后 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!