如何使用Python正则表达式通过多个分隔符拆分字符串?

如何使用Python正则表达式通过多个分隔符拆分字符串?

包含一组字符的类被称为正则表达式类别。 其中一个这些类别的d,可以匹配任何十进制数字。 学习如何拆分数据可能是有价值的。 数据以各种类型和大小到达,有时并不像我们希望的那样干净。 您经常希望通过多个分隔符拆分字符串以使其更易处理。 内置的正则表达式库re是拆分字符串的最简单方法。

该库具有类似于上面示例的.split()函数。 该方法的显着优点在于它允许您使用正则表达式分隔字符串。

更多Python相关文章,请阅读:Python 教程

使用的语法

split() - 将字符串拆分为列表,其中每个单词是列表项 –

string.split(separator, maxsplit)

separator - 可选。分割字符串时要使用的分隔符。 默认情况下,任何空格都是分隔符。

maxsplit - 可选。指定要执行多少个拆分。 默认值为-1,“所有出现”。

注意 - 如果在模式中使用捕获括号,则模式中所有组的文本也作为结果列表的一部分返回。

返回值 - 它根据正则表达式模式分割目标文本并返回匹配列表。

算法

  • 要使用多个分隔符拆分字符串
  • 导入re模块。
  • 使用re.split()方法,例如 re.split(r’,|-‘, my_str_2)。
  • re.split()方法将在一个分隔符的所有出现上拆分字符串。

示例1

import re
#split string with 2 delimiters
my_str = 'one,two-three,four'
my_list = re.split(r',|-', my_str)
# split on comma or hyphen
print(my_list)

输出

['one', 'two', 'three', 'four']

代码解释

将模式和字符串给re.split函数,该函数将字符串分隔成每个模式出现的部分。

管道符 | 表示 OR。 从 A 和 B 中选择。 在第一个示例中,逗号和破折号用作字符串分隔符。 第二个示例使用逗号,破折号和冒号拆分字符串,作为分隔符。 在正则表达式中,您可以自由使用任意数量的 | 字符。 或者,您可以使用方括号 [] 表示一组字符。

示例2

#split string with 3 delimiters
import re
my_str_2 = 'one,two-three:four'
my_list_2 =re.split(r',|-|:', my_str_2)
#comma, hyphen or colon
print(my_list_2)

输出

['one', 'two', 'three', 'four']

代码解释

将模式和字符串给re.split函数,该函数将字符串分隔成每个模式出现的部分。

管道符 | 表示 OR。 从 A 和 B 中选择。 第一个示例中使用逗号和破折号作为字符串分隔符。 第二个示例使用逗号,破折号和冒号拆分字符串,作为分隔符。 在正则表达式中,您可以自由使用任意数量的 | 字符。 或者,您可以使用方括号 [] 表示一组字符。

另一种方法是使用str.replace()方法

在Python语言中内置的replace()方法会返回一个新字符串,其中一个子字符串的每个实例都被替换为另一个字符串。名为string split()的内置Python方法将一个字符串分割成列表。

要使用多个分隔符拆分字符串,需要−

  • 使用str.replace()方法将第一个分隔符替换为第二个分隔符。
  • 使用str.split()方法按第二个分隔符拆分字符串。

示例1

#导入re
import re
#将字符串存储在名为my_str_2的变量中
my_str_2 = 'one_two!three_four'
my_list = my_str_2.replace('_', '!').split('!')
#替换多个分隔符后打印my_list
print(my_list)

输出

['one', 'two', 'three', 'four']

代码解释

从regex模块导入re。将字符串存储在名为my_str_2的变量中。使用replace方法将第一个分隔符替换为第二个分隔符替换字符串。使用split方法按第二个分隔符拆分字符串。打印my_list以获得所需结果。

首先,我们用第二个分隔符替换第一个分隔符的每个出现,然后在第二个分隔符上拆分。str.replace方法返回一个字符串副本,其中每个子字符串的所有出现均由提供的替换值替换。

示例2

此外,您可以完全避免re模块。如果您觉得模块有点令人生畏,可以不使用模块完成此操作。

下面的示例显示如何通过首先更改值来使用多个分隔符拆分Python字符串。我们将使用新创建的字符串将所有现有分隔符替换为一个统一的分隔符。让我们来看看这个 −

#导入re
import re
#将字符串存储在名为my_str_2的变量中
sample_string = 'Hey! thanks for visiting, Tutorialspoint!'
new_string = sample_string.replace('!', ',').replace(';', ',')
split_string = new_string.split(',')
#替换多个分隔符后打印my_list
print(split_string)

输出

['Hey', ' thanks for visiting', ' Tutorialspoint', '']

结论

内置的正则表达式库re是拆分字符串的最简单方法。该库具有类似于上面示例的a.split()函数的.split()函数。这种方法突出了使用正则表达式分离字符串的功能。本文教您如何使用多个分隔符拆分Python字符串。这两种方法都使用了内置的.split()过程和内置的正则表达式re的.split()函数来完成。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程