在Python字符串中分割多个字符

2025年1月5日 | 阅读 7 分钟

引言

在本教程中,我们将学习如何在 Python 中从字符串拆分多个字符。在 Python 中,字符串是一种用于存储和操作文本文件的简单数据类型。将字符串拆分为多个字符是 Python 中的一种文本处理功能。在编码或提高编程技能的过程中,您肯定会遇到许多 Python 情况,您希望使用 split() 函数同时拆分多个参数,而不是单个字符。在本文中,我们将介绍拆分 Python 字符串的多种方法。下面给出了从字符串中拆分多个字符的示例:

在 Python 中,我们可以使用不同的方法轻松地从字符串中拆分多个字符。使用这些方法,可以在 Python 中非常轻松地拆分和替换字符串中的单个字符。方法如下:

  1. 使用 split() 函数
  2. 使用 replace() 函数
  3. 使用 re.split() 函数
  4. 使用 re.findall() 函数

现在,我们将学习 Python 中用于从字符串拆分多个字符的这些函数,如下所示:

1. 使用 split() 函数

我们在 Python 中使用 split() 函数从字符串中拆分多个字符。在这里,我们遍历每个字符并使用 split() 函数拆分字符串。拆分字符串后,我们使用 join() 函数将结果与空格连接,然后按空格拆分修改后的字符串,以获得所需的字符串列表。

程序代码

这里,我们提供使用 Python 中的 split() 从字符串中拆分多个字符的程序代码。代码如下:

输出

现在,我们运行上面的代码,找出在 Python 中从字符串拆分多个字符后的结果。结果如下:

The given string is:  Hello everyone, welcome to javatpoint
After splitting the given string:  ['Hello', 'everyone', 'welcome', 'to', 'javatpoint']

2. 使用 replace() 函数

我们在 Python 中使用 replace() 函数从字符串中拆分多个字符。这是拆分字符串的另一种方法。它不使用正则表达式,并且不够完善。如果您知道要拆分的字符,请将它们替换为空格,然后使用 split() 函数。

程序代码

这里,我们提供使用 Python 中的 replace() 从字符串中拆分多个字符的程序代码。代码如下:

输出

现在,我们运行上面的代码,找出在 Python 中从字符串拆分多个字符后的结果。结果如下:

The given string is: Hello@everyone, welcome to javatpoint
The result after splitting the given string is: ['Hello', 'everyone', 'welcome', 'to', 'javatpoint']

3. 使用 re.split() 函数

我们在 Python 中使用 re.split() 函数从字符串中拆分多个字符。这是同时拆分多个字符的最有效且最通用的方法。它使用正则表达式或 regex 来实现此目的。

程序代码

这里,我们提供使用 Python 中的 re.split() 从字符串中拆分多个字符的程序代码。代码如下:

输出

现在,我们运行上面的代码,找出在 Python 中从字符串拆分多个字符后的结果。结果如下:

The given string is: Hello@everyone, welcome_to-javatpoint
The result after splitting the given string is: ['Hello', 'everyone', 'welcome', 'to', 'javatpoint']

re.split(', |_|-|!|@', string) 这行代码告诉 Python 在以下字符之间拆分数据:, 或 _ 或 _ 或 ! 或 @。“|”符号表示“或”。某些字符在正则表达式中被视为特殊字符,具有不同的功能。如果要以这种方式拆分字符,则需要使用“\”(反斜杠)运行它,并在特殊字符前后添加空格。

在使用之前要避免的一些特殊字符列表

程序代码

这里,我们提供使用 Python 中的 re.split() 从字符串中拆分多个字符的另一个程序代码。代码如下:

输出

现在,我们运行上面的代码,找出在 Python 中从字符串拆分多个字符后的结果。结果如下:

The result after splitting the given string is:  ['Hello', 'everyone', 'welcome', 'to', 'javatpoint', ' good ', ' morning']
The result after splitting the given string is:  ['Hello', 'everyone', 'welcome', 'to', 'javatpoint', ' good', 'morning']

4. 使用 re.findall() 函数

我们在 Python 中使用 re.findall() 函数从字符串中拆分多个字符。这是一种更神秘的形式,但可以节省时间。它也像上面一样使用正则表达式,但不是使用 .split() 方法,而是使用一个名为 .findall() 的方法。此方法查找所有匹配项并以列表形式返回所有匹配项。当您需要知道要拆分的精确字符时,此拆分方法最好使用。

程序代码

这里,我们提供使用 Python 中的 re.findall() 从字符串中拆分多个字符的程序代码。代码如下:

输出

现在,我们运行上面的代码,找出在 Python 中从字符串拆分多个字符后的结果。结果如下:

The given string is: This, is - a # example? of the findall-method!
The result after splitting the given string is: ['This', 'is', 'a', 'example', 'of', 'the', 'findall', 'method']

这里,[\w']+ 关键字表示它将查找一个或多个字母或下划线 (_) 的所有实例,并将它们作为列表返回。注意:[\w']+ 不会与下划线 (_) 分开,因为它会查找字母和下划线。

程序代码

这里,我们提供使用 Python 中的 re.findall() 从字符串中拆分多个字符的另一个程序代码。代码如下:

输出

现在,我们运行上面的代码,找出在 Python 中从字符串拆分多个字符后的结果。结果如下:

The result after splitting the given string is:  ['This', 'is', 'a', 'example', 'of', 'the', 'findall', 'method']

字符类描述

下面给出了一些正则表达式的字符类:

字符类描述
\w任何字母、数字或下划线字符。
\W除字母、数字或下划线字符外的任何字符。
\s制表符、空格和换行符。
\S除制表符、空格和换行符外的任何字符。
\d0 到 9 的数字。
\D除数字 0 到 9 以外的任何数字。

结论

在本教程中,我们学习了如何在 Python 中从字符串拆分多个字符。我们学习了四种从给定字符串中拆分多个字符的方法,以及一些合适的程序代码。