Python 子字符串

2025年3月17日 | 阅读 12 分钟

字符串定义

在 Python 中,字符串是用引号括起来的字符序列。字符串是用于表示文本的基本数据类型。它们可以使用单引号 ('), 双引号 (") 或三引号 (''' 或 """) 定义多行字符串。

Python 语言中,字符串是最常见的样式之一。通过用引号字面量地包含字符,我们可以构建它们。Python 处理单引号和双引号类似。构建字符串就像为变量分配值一样简单。

基本定义和特性

1. 创建字符串

  • 单引号: 'Hello'
  • 双引号: "Hello"
  • 三引号: '''Hello''' 或 """Hello""" (用于多行字符串)

2. 不可变性

3. 索引和切片

Python 语言没有任何内置函数来获取所有子字符串索引值的数组。毕竟,使用 find() 方法,我们可以简单地实现一个。

语法

查找所有子字符串索引的语法如下所示:

示例代码

输出

成功执行上述程序代码后,我们得到以下输出。

 
[0, 19, 48]   
  • Python 中的字符串是不可变的,这意味着一旦创建字符串,就不能修改它。任何看似修改字符串的操作实际上都会创建一个新字符串。

    例如:

    预定义字符串方法

    在这里,我们将讨论一些用于操作 Python 中字符串的方法。它们列表如下:

    序号。方法描述
    1.Center()返回一个带空格填充的字符串,其中输入字符串位于列的完整宽度。
    2.Count()如果指定了起始列表开始和停止索引停止,则用于计算“str”在序列中或字符串的子字符串中出现的次数。
    3.Capitalize()此方法用于将字符串的首字母大写。
    4.endswith()定义字符串或字符串的子字符串是否以后缀结尾(如果提供了起始列表 beg 和停止索引 end);如果结尾是,则返回 true,否则返回 false。
    5.encode()此方法返回字符串的加密字符串表示形式;如果出现故障,默认情况下会引发 ValueError,除非错误由“ignore”或“replace”指定。
    6.decode()此技术将允许您使用授权用于加密的编解码器解密字符串。标准字符串编码的高级编码。
    7.expandtabs()它用于将字符串部分扩展到多个空格;如果未默认给定部分,则每部分需要 8 个空格。
    8.find()此方法确定 str 是否出现在字符串或子字符串中,如果索引已计算则返回起始和结束索引,否则返回 -1。
    9.index()index() 方法的工作方式与 find() 方法类似,但如果未识别 str,则会引发异常。
    10.isalpha()如果序列至少有 1 个字母且所有字母都是字母或假,则返回 true。
    11.isalnum()此方法返回 true 如果序列至少包含一个字母且所有字母都是字母数字,否则返回 false。
    12.islower()此方法用于返回 true 如果字符串只包含一个字母且所有带大小写的字母都以小写形式存在;否则返回 false。
    13.isdigit()它用于返回 true 如果任何序列有数字,否则返回 false。
    14.istitle()Istitle() 方法返回 true 如果序列在“titlecase”中适当,否则返回 false。
    15.isnumeric()它用于返回有效,如果 unicode 序列中只有数字字母,否则返回 false。
    16.isspace()如果字符串只有空白字母,此方法返回 true,否则返回 false。
    17.isupper()如果字符串包含至少一个大小写字母且所有大小写字母都为大写形式,则 isupper() 方法返回 true,否则返回 false。
    18.len()len() 方法可帮助您查找字符串的大小或长度。
    19.join()此函数将序列 seq 中的项序列描述与字符串分隔符连接(拼接)成一个字符串。
    20.maketrans()此方法将允许您返回用于转换操作的转换表。
    21.lower()这将帮助您将所有字符串的大写字符转换为小写。
    22.ljust()这将用于将带空格填充的序列分配到最大列宽,初始字符串左对齐。
    23.istrip()此方法将帮助您消除所有尾随字符串空白。
    24.replace()它用于将字符串中所有现有的表现形式替换为新的表现形式,或者,如果给出最大值,则最多替换最大表现形式。
    25.max()此方法用于从序列 str 返回最大字母。
    26.min()此方法用于从序列 str 返回最小字母。
    27.rjust()它将帮助您返回带空格填充的序列,最大列宽,初始字符串右对齐。
    28.rfind()rfind() 方法的工作方式与 find() 方法类似,但它在字符串的末尾开始搜索。
    29.rindex()rindex() 函数的工作方式与 index() 函数类似,但它在字符串的末尾开始查找。
    30.strip()此方法用于执行 rstrip() 和 lstrip() 函数的功能。
    31.startswith()它用于判断序列或子字符串序列是否以 str 开头(如果授予起始索引 beg 和结束索引 end);如果是,则返回 true,否则返回 false。
    32.split()它用于按子字符串 str(如果未提供则存储)分割序列并返回子字符串数组;如果提供,则分割成最多数量的子字符串。
    33.spilitlines()它将用于将字符串分隔为所有 NEWLINE(或 num)并返回每行列表,并删除 NEWLINE。
    34.translate()它用于根据转换表中的 str(256 个字符)转换字符串,同时删除 del 系列中的字符串。
    35.swapcase()swapcase() 方法用于反转所有序列字母的大小写。
    36.title()它用于返回字符串的描述版本,即所有单词以大写开头,其余部分以小写开头。
    37.isdecimal()它用于返回 true 如果 unicode 序列中只有十进制字母,否则返回 false。
    38.zfill()此方法将帮助您返回原始左填充的零序列,最大宽度为字符;zfill() 保留数字的任何指定签名(减去一个零)。
    39.upper()这将帮助您将所有字符串的小写字符转换为大写。
    40.rstrip()它用于消除所有前面的序列空白。

    什么是子字符串

    子字符串是从较大字符串中提取的连续字符序列。在 Python 中,子字符串通过切片获得,您可以在其中指定开始和结束索引。例如,给定字符串“Python”,从索引 0 到 2 的“Pyt”是一个子字符串。子字符串可以短至一个字符,也可以长至整个字符串。它们对于文本处理很有用,允许您提取和操作字符串的某些部分。子字符串在各种应用程序中至关重要,例如搜索、解析和数据提取

    子字符串是较大字符串的一个片段。在 Python 中,有多种方法可以创建子字符串,验证它是否存在于另一个字符串中,并确定其位置。

    例如,“the better of”的子字符串是“It was the better of times”。这不应与子序列混淆,子序列是子字符串的概括。

    例如,“Itwastimes”是“It was the better of times”系列,但不是子字符串。

    在本文档中,我们将以最简单的术语解释 python 子字符串及其功能。

    子字符串的创建

    我们可以借助字符串切片来构造子字符串。我们应该使用 split() 方法根据提到的分隔符实现子字符串数组。

    语法

    Python 中字符串创建的语法如下所示:

    这里,索引从 0 开始。

    示例

    输出

    代码成功执行后,我们得到以下屏幕。

    the python world
    ['Welcome', 'to', 'the', 'python', 'world']
    

    检查是否找到了子字符串

    我们可以使用 find() 方法in 运算符来评估子字符串是否在序列中可用。

    语法

    检查子字符串是否在字符串中的语法如下所示:

    这里,find() 方法返回子字符串位置的索引,如果匹配,否则返回 -1。

    示例代码

    我们可以使用 count() 方法识别子字符串在数组中出现的次数。

    语法

    检查子字符串在字符串中出现的语法如下所示:

    示例代码

    输出

    执行上述代码后,我们得到以下输出。

     
    Substring count = 1
    Substring count = 1
    
    • 字符串是字符的索引集合。每个字符都有一个从 0 开始的索引。负索引从字符串的末尾开始。
    • 示例: 'Python'[0] 得到 'P','Python'[-1] 得到 'n'。
    • 切片: s[start:end] 提取从索引 start 到 end – 1 的子字符串。
      • 子字符串出现次数的检查
    • 在子字符串中查找所有索引
  • 使用起始索引切片,不带结束索引

这将返回一个从数组位置 5 开始,直到 python 序列末尾的切片字符串。

语法

通过起始索引不带结束索引进行子字符串切片的语法如下所示:

示例代码

输出

执行上述代码后,我们得到以下屏幕。

 
to demonstrate substring functionality in python.   
  • 使用结束索引切片,不带起始索引

这会返回一个从开头到结束索引-1 的切片字符串。

语法

通过结束索引不带起始索引进行子字符串切片的语法如下所示:

示例代码

输出

执行上述代码后,我们得到以下屏幕。

 
is a powerful programming language   
  • 使用完整字符串切片

它帮助您获取整个字符串作为输出。

语法

完整子字符串切片的语法如下所示:

示例代码

输出

执行上述代码后,我们得到以下屏幕。

 
Python is a robust programming language.   
  • 从字符串中切片单个字符

这会从字符串中获取单个子字符串字符。

语法

从字符串中切片单个字符的语法如下所示:

示例代码

输出

成功执行上述代码后,我们得到以下输出。

 
w   
  • 借助负 (-) 步长反转字符串

它将帮助您按相反顺序返回字符串。

语法

字符串反向子字符串切片的语法如下所示:

示例代码

输出

成功执行上述程序代码后,我们得到以下输出。

Python substring

负索引的工作原理

负索引的工作功能如下表所示:

 PYTHON
012345
-5-4-3-2-1-0

在上表中,我们以单词 Python 为例,演示负索引的精确工作功能。

  • 借助负 (-) 索引切片字符串

它用于借助负索引切片或子字符串。序列索引从 0 到 5 开始,我们也将使用负索引。

语法

借助负索引切片字符串的语法如下所示:

示例代码

s = 'PYTHON' print(s[0:-4])

输出

成功执行上述程序代码后,我们得到以下输出。

 
PY   
  • 借助正 (+) 索引切片字符串

它用于借助正索引切片或子字符串。

语法

借助正索引切片字符串的语法如下所示:

示例代码

输出

成功执行上述程序代码后,我们得到以下输出。

 
PYTH   
  • 借助列表推导检索所有子字符串

它借助字符串切片和列表推导返回字符串的完整子字符串。

示例代码

输出

成功执行上述程序代码后,我们得到以下输出。

 
['P', 'PY', 'PYT', 'PYTH', 'PYTHO', 'PYTHON', 'Y', 'YT', 'YTH', 'YTHO', 'YTHON', 'T', 'TH', 'THO', 'THON', 'H', 'HO', 'HON', 'O', 'ON', 'N']   
  • 借助 itertools.combination() 方法检索所有子字符串

它借助字符串切片和列表推导返回字符串的完整子字符串。

示例代码

输出

成功执行上述程序代码后,我们得到以下输出。

 
[('P',), ('Y',), ('T',), ('H',), ('O',), ('N',), ('P', 'Y'), ('P', 'T'), ('P', 'H'), ('P', 'O'), ('P', 'N'), ('Y', 'T'), ('Y', 'H'), ('Y', 'O'), ('Y', 'N'), ('T', 'H'), ('T', 'O'), ('T', 'N'), ('H', 'O'), ('H', 'N'), ('O', 'N'), ('P', 'Y', 'T'), ('P', 'Y', 'H'), ('P', 'Y', 'O'), ('P', 'Y', 'N'), ('P', 'T', 'H'), ('P', 'T', 'O'), ('P', 'T', 'N'), ('P', 'H', 'O'), ('P', 'H', 'N'), ('P', 'O', 'N'), ('Y', 'T', 'H'), ('Y', 'T', 'O'), ('Y', 'T', 'N'), ('Y', 'H', 'O'), ('Y', 'H', 'N'), ('Y', 'O', 'N'), ('T', 'H', 'O'), ('T', 'H', 'N'), ('T', 'O', 'N'), ('H', 'O', 'N'), ('P', 'Y', 'T', 'H'), ('P', 'Y', 'T', 'O'), ('P', 'Y', 'T', 'N'), ('P', 'Y', 'H', 'O'), ('P', 'Y', 'H', 'N'), ('P', 'Y', 'O', 'N'), ('P', 'T', 'H', 'O'), ('P', 'T', 'H', 'N'), ('P', 'T', 'O', 'N'), ('P', 'H', 'O', 'N'), ('Y', 'T', 'H', 'O'), ('Y', 'T', 'H', 'N'), ('Y', 'T', 'O', 'N'), ('Y', 'H', 'O', 'N'), ('T', 'H', 'O', 'N'), ('P', 'Y', 'T', 'H', 'O'), ('P', 'Y', 'T', 'H', 'N'), ('P', 'Y', 'T', 'O', 'N'), ('P', 'Y', 'H', 'O', 'N'), ('P', 'T', 'H', 'O', 'N'), ('Y', 'T', 'H', 'O', 'N'), ('P', 'Y', 'T', 'H', 'O', 'N')]