Python字符串方法

2025年9月4日 | 阅读 13 分钟

Python 提供了广泛的内置字符串方法,方便我们高效地操作和处理字符串。 字符串Python 中是一种不可变的数据类型,因此,所有这些方法都会返回一个新的字符串,而原始字符串保持不变。

Python 字符串方法 - 更改大小写

Python 的 'str' 类提供了各种方法来更改字符串中字符的大小写。下表显示了不同的方法。

序号。字符串方法描述
1str.upper()此方法将字符串中的所有字符转换为大写。
2str.lower()此方法将字符串中的所有字符转换为小写。
3str.title()此方法将每个单词的首字母大写。
4str.capitalize()此方法仅将字符串的第一个字母大写。
5str.swapcase()此方法将字符串中的大写字母转换为小写;反之亦然。

让我们看一个示例,展示这些字符串方法在 Python 中的实现。

示例

编译并运行

输出

 
I LOVE LEARNING PYTHON
python is fun with tpoint tech
Welcome To Tpoint Tech
Welcome to tpoint tech
lEARNING pYTHON fEELS wONDERFUL   

说明

在上面的示例中,我们使用了 upper()、lower()、title()、capitalize() 和 swapcase() 等不同的字符串方法来更改 Python 中指定字符串的大小写。

Python 字符串方法 - 搜索和查找子字符串

Python 的 'str' 类还提供了各种方法来定位字符串中的子字符串。下表显示了不同的方法。

序号。字符串方法描述
1str.find(substring)此方法用于返回子字符串第一次出现的索引,如果未找到则返回 -1。
2str.index(substring)此方法与 find() 方法类似;但是,如果未找到子字符串,它会引发错误。
3str.rfind(substring)此方法用于返回子字符串最后一次出现的索引,如果未找到则返回 -1。
4str.rindex(substring)此方法与 rfind() 方法类似;但是,如果未找到子字符串,它会引发错误。
5str.count(substring)此方法计算子字符串出现的次数。
6str.startswith(prefix)此方法用于检查字符串是否以 prefix 开头。
7str.endswith(suffix)此方法用于检查字符串是否以 suffix 结尾。

让我们看一个示例,展示这些字符串方法在 Python 中的实现。

示例

编译并运行

输出

 
Index of 'Tpoint': 29
Last index of 'Tpoint': 42
Index of 'students': 86
Last index of 'learning': 273
Starts with 'Tpoint': False
Ends with 'basics.': False
Count of 'Tpoint': 2   

说明

在上面的示例中,我们使用了 find()、rfind()、index()、rindex()、count()、startswith() 和 endswith() 等不同的字符串方法来重新定位给定字符串中的子字符串。

Python 字符串方法 - 分割和连接字符串

Python 的 'str' 类还提供了各种方法来帮助我们拆分和合并字符串。以下表格显示了这些方法的列表。

序号。字符串方法描述
1str.split(sep)此方法用于将字符串按 sep 分割成一个列表。
2str.rsplit(sep, maxsplit)此方法用于从右侧进行分割。
3str.partition(sep)此方法用于将字符串分割成三部分:sep 之前、sep 本身、sep 之后。
4str.join(iterable)此方法用于以 str 作为分隔符来连接可迭代对象中的元素。

让我们看一个示例,展示这些字符串方法在 Python 中的实现。

示例

编译并运行

输出

 
Split string: ['Learning', 'Python', 'is', 'fun', 'with', 'Tpoint', 'Tech.']
Right split string: ['Learning Python is fun with', 'Tpoint', 'Tech.']
Partitioned string: ('Learning Python is fun with Tpoint Tech.', '', '')
Joined string: Tpoint Tech offers best tutorials to learn Python
Joined string with comma: Tpoint, Tech, offers, best, tutorials, to, learn, Python   

说明

在上面的示例中,我们使用了 split()、rsplit()、partition() 和 join() 等不同的字符串方法来分割和连接给定的字符串。

Python 字符串方法 - 验证字符串

Python 的 'str' 类还提供了各种方法来帮助我们检查字符串是否仅包含特定类型的字符。以下表格显示了这些方法的列表。

序号。字符串方法描述
1str.isalpha()此方法用于在所有字符都是字母时返回 True。
2str.isdigit()此方法用于在所有字符都是数字时返回 True。
3str.isalnum()此方法用于在所有字符都是字母或数字时返回 True。
4str.isspace()此方法用于在所有字符都是空格时返回 True。
5str.islower()此方法用于在所有字符都是小写时返回 True。
6str.isupper()此方法用于在所有字符都是大写时返回 True。
7str.istitle()此方法用于在字符串为标题格式时返回 True。

让我们看一个示例,展示这些字符串方法在 Python 中的实现。

示例

编译并运行

输出

 
Given String: Welcome
Is alphabetic (str.isalpha()): True
Is digit (str.isdigit()): False
Is alphanumeric (str.isalnum()): True
Is space (str.isspace()): False
Is lowercase (str.islower()): False
Is uppercase (str.isupper()): False
Is titlecase (str.istitle()): True
------------------------------
Given String: PYTHON
Is alphabetic (str.isalpha()): True
Is digit (str.isdigit()): False
Is alphanumeric (str.isalnum()): True
Is space (str.isspace()): False
Is lowercase (str.islower()): False
Is uppercase (str.isupper()): True
Is titlecase (str.istitle()): False
------------------------------
Given String: Tpoint Tech
Is alphabetic (str.isalpha()): False
Is digit (str.isdigit()): False
Is alphanumeric (str.isalnum()): False
Is space (str.isspace()): False
Is lowercase (str.islower()): False
Is uppercase (str.isupper()): False
Is titlecase (str.istitle()): True
------------------------------
Given String:  
Is alphabetic (str.isalpha()): False
Is digit (str.isdigit()): False
Is alphanumeric (str.isalnum()): False
Is space (str.isspace()): True
Is lowercase (str.islower()): False
Is uppercase (str.isupper()): False
Is titlecase (str.istitle()): False
------------------------------
Given String: hello friends
Is alphabetic (str.isalpha()): False
Is digit (str.isdigit()): False
Is alphanumeric (str.isalnum()): False
Is space (str.isspace()): False
Is lowercase (str.islower()): True
Is uppercase (str.isupper()): False
Is titlecase (str.istitle()): False
------------------------------   

说明

在上面的示例中,我们定义了一个函数来验证给定的字符串。在此函数内部,我们使用了 isalpha()、isdigit()、isalnum()、isspace()、islower()、isupper() 和 istitle() 等不同的字符串方法来验证字符串。我们测试了这些方法在不同示例上的输出。

Python 字符串方法 - 字符串对齐和格式化

Python 的 'str' 类还提供了各种方法来格式化用于显示的字符串。下表显示了可用于字符串格式化的字符串方法的数量。

序号。字符串方法描述
1str.center(width, fillchar)此方法用于使用填充字符将字符串居中。
2str.ljust(width, fillchar)此方法用于使用填充字符将字符串左对齐。
3str.rjust(width, fillchar)此方法用于使用填充字符将字符串右对齐。
4str.zfill(width)此方法用于用零填充字符串。
5str.format()此方法用于动态格式化字符串。
6f"{var}"此方法用于提供 f-string 格式化。

让我们看一个示例,展示这些字符串方法在 Python 中的实现。

示例

编译并运行

输出

 
Tpoint----
----Tpoint
--Tpoint--
My name is Morgan     and I am  29 years old.
My name is Morgan     and I am  29 years old.
01243
3.14
00003.14
    Tpoint     
Tpoint         
         Tpoint   

说明

在上面的示例中,我们使用了 ljust()、rjust()、center()、zfill()、format() 和 f-string 等不同的字符串方法来对字符串进行对齐和格式化。

Python 字符串方法 - 字符串编码和解码

Python 的 'str' 类还提供了各种方法来将字符串转换为不同的编码。下表显示了可用于字符串编码和解码的字符串方法的数量。

序号。字符串方法描述
1str.encode(encoding)使用编码将字符串转换为字节。
2bytes.decode(encoding)将字节转换回字符串。

让我们看一个示例,展示这些字符串方法在 Python 中的实现。

示例

编译并运行

输出

 
Encoded text: b'This is a sample text string with special characters like \xc3\xa9\xc3\xa0\xc3\xa7\xc3\xbc\xc3\xb6.'
Decoded text: This is a sample text string with special characters like éàçüö.
The string contains characters that cannot be encoded using ASCII.
Base64 encoded text: b'VGhpcyBpcyBhIHNhbXBsZSB0ZXh0IHN0cmluZyB3aXRoIHNwZWNpYWwgY2hhcmFjdGVycyBsaWtlIMOpw6DDp8O8w7Yu'
Base64 decoded text: This is a sample text string with special characters like éàçüö.   

说明

在上面的示例中,我们展示了 encode() 和 decode() 方法的用法,用于将给定的文本字符串编码为不同的编码(如 UTF-8、ASCII 和 Base64)并进行解码。

Python 字符串方法的完整列表

以下是 Python 中可供程序员使用的用于处理字符串的字符串方法的完整列表。

序号。字符串方法描述
1capitalize()此方法将第一个字符转换为大写。
2casefold()此方法将字符串转换为小写(比 lower() 更具侵略性)。
3center(width, fillchar)此方法使用给定的宽度和可选的填充字符将字符串居中。
4count(substring, start, end)此方法计算字符串中子字符串的出现次数。
5encode(encoding, errors)此方法返回字符串的编码版本。
6endswith(suffix, start, end)此方法检查字符串是否以给定的后缀结尾。
7expandtabs(tabsize)此方法将制表符 (\t) 替换为空格。
8find(substring, start, end)此方法返回子字符串第一次出现的索引(如果未找到则返回 -1)。
9format(*args, **kwargs)此方法使用给定的参数格式化字符串。
10format_map(mapping)此方法使用字典映射格式化字符串。
11index(substring, start, end)此方法类似于 find(),但在找不到子字符串时会引发 ValueError。
12isalnum()此方法检查所有字符是否为字母数字。
13isalpha()此方法检查所有字符是否为字母。
14isascii()此方法检查所有字符是否为 ASCII。
15isdecimal()此方法检查所有字符是否为小数。
16isdigit()此方法检查所有字符是否为数字。
17isidentifier()此方法检查字符串是否是有效的 Python 标识符。
18islower()此方法检查所有字符是否为小写。
19isnumeric()此方法检查所有字符是否为数字。
20isprintable()此方法检查所有字符是否为可打印字符。
21isspace()此方法检查字符串是否仅包含空格。
22istitle()此方法检查字符串是否遵循标题格式。
23isupper()此方法检查所有字符是否为大写。
24join(iterable)此方法使用字符串作为分隔符连接可迭代对象的元素。
25ljust(width, fillchar)此方法将字符串左对齐到给定的宽度内。
26lower()此方法将所有字符转换为小写。
27lstrip(chars)此方法删除前导空格或指定的字符。
28maketrans(x, y, z)此方法为 translate() 创建一个转换表。
29partition(separator)此方法将字符串分割成一个元组(分隔符之前,分隔符本身,分隔符之后)。
30removeprefix(prefix)此方法从字符串中删除指定的前缀。
31removesuffix(suffix)此方法从字符串中删除指定的后缀。
32replace(old, new, count)此方法用 new 替换 old 的出现次数。
33rfind(substring, start, end)此方法查找子字符串的最后一次出现。
34rindex(substring, start, end)此方法类似于 rfind(),但在未找到时会引发 ValueError。
35rjust(width, fillchar)此方法将字符串右对齐到给定的宽度内。
36rpartition(separator)此方法从右侧将字符串分割成一个元组。
37rsplit(separator, maxsplit)此方法从右侧分割字符串。
38rstrip(chars)此方法删除尾随空格或指定的字符。
39split(separator, maxsplit)此方法将字符串分割成一个列表。
40splitlines(keepends)此方法在换行符处分割字符串。
41startswith(prefix, start, end)此方法检查字符串是否以给定的前缀开头。
42strip(chars)此方法删除前导和尾随空格或指定的字符。
43swapcase()此方法将大写字母转换为小写,反之亦然。
44title()此方法将每个单词的第一个字母转换为大写。
45translate(table)此方法使用给定的转换表转换字符串。
46upper()此方法将所有字符转换为大写。
47zfill(width)此方法在左侧用零填充字符串。

结论

在本教程中,我们学习了 Python 中用于操作字符串的各种字符串方法。

Python 字符串方法 - 常见问题解答

1. 如何检查字符串是否包含特定子字符串?

Python 提供了 find() 方法来检查字符串是否包含子字符串。

示例

编译并运行

输出

11
-1

find() 返回子字符串第一次出现的索引。如果未找到子字符串,则返回 -1。

2. 如何替换字符串中的单词或字符?

Python 提供了 replace() 方法来用另一个单词或字符替换一个单词或字符。

示例

编译并运行

输出

Learn with Tpoint Tech

replace(old, new) 方法将所有出现的 old 替换为 new。由于 Python 中的字符串是不可变的,因此 replace() 返回一个字符串,而不是修改原始字符串。

3. 如何将字符串分割成单词列表?

Python 提供了 split() 方法,根据指定的分隔符(默认为空格)将字符串分割成一个列表。

示例

编译并运行

输出

['apple', 'banana', 'mango']

当不提供参数时,它按空格分割。如果使用特定的分隔符,则相应地分割。

示例

编译并运行

输出

['Tom', 'Holland', '55', 'New York']

4. 如何检查字符串是否以特定子字符串开头或结尾?

您可以使用 startswith() 和 endswith() 方法。

示例

编译并运行

输出

True
True

如果字符串以指定的子字符串开头或结尾,这些方法将返回 True,否则返回 False。这对于检查文件类型、URL 等非常有用。

5. 如何将字符串转换为大写或小写?

Python 提供了 upper()、lower() 和 title() 方法来进行大小写转换。

示例

编译并运行

输出

WELCOME TO TPOINT TECH
welcome to tpoint tech
Welcome To Tpoint Tech