Python 将字符串分割为多个子字符串程序

Python 将字符串分割为多个子字符串程序

在Python中,我们可以使用 split() 方法将字符串分割为子字符串。split()方法是Python中的内置字符串方法之一,它根据指定的分隔符将字符串分割为子字符串列表。在本文中,我们将学习如何使用示例将字符串分割为子字符串。

将字符串分割为子字符串

方法1:使用split()方法

split()方法是Python中字符串的内置方法,它根据指定的分隔符将字符串分割为子字符串列表。分隔符可以是任何字符或字符串。split()方法接受一个参数,即分隔符。如果未指定分隔符,它将将字符串分割为单个字符。

示例:基于空格和逗号分隔符分割

在下面的示例中,我们将使用空格分隔符分割字符串。我们使用split()方法并传递空格分隔符以根据空格分割字符串。

string = "Hello World"
substrings = string.split()
print(substrings)

string1 = "apple,banana,orange"
substrings = string1.split(",")
print(substrings)

输出

['Hello', 'World']
['apple', 'banana', 'orange']

示例:使用正则表达式拆分

在以下示例中,我们使用了正则表达式模块的split()函数,使用破折号和空格分隔符将字符串“23-456-7890”拆分为三个子字符串。

import re

string = "123-456-7890"
substrings = re.split("-|\s", string)
print(substrings)

输出

['123', '456', '7890']

方法2: 使用列表推导式

列表推导式是Python中创建列表的一种简洁方式。它允许您根据现有列表或其他可迭代对象创建一个新列表,同时还可以应用过滤条件并对可迭代对象的元素进行转换。

语法

new_list = [expression for item in iterable if condition]

“expression”是要在可迭代对象的每个元素上执行的转换或操作,”item”是当前正在处理的元素,”iterable”是元素的来源,”condition”是一个可选的过滤条件,用于确定是否将元素包含在结果列表中。

示例

在下面的示例中,我们从一个名为”sentence”的字符串开始,该字符串包含一系列由空格分隔的单词。我们使用split()方法将字符串拆分为一个单词列表,然后使用列表推导式创建一个名为”words”的新列表,其中包含原始字符串中的每个单词。

sentence = "The quick brown fox jumps over the lazy dog"
words = [word for word in sentence.split()]
print(words)

结果

['The', 'quick', 'brown', 'fox', 'jumps', 'over', 'the', 'lazy', 'dog']

方法3:使用partition()方法

partition()方法是Python中字符串的内置方法,它根据指定的分隔符将字符串分为三个部分。它返回一个包含分隔符之前的字符串左部分、分隔符本身和分隔符之后的字符串右部分的元组。如果字符串中找不到分隔符,则该方法返回一个包含原始字符串,后跟两个空字符串的元组。

语法

string.partition(delimiter)

在这里, string 是您要拆分的字符串,delimiter是基于该分隔符您想要分割字符串的分隔符。

示例

在下面的示例中,我们使用partition()方法根据空格分隔符将字符串”Hello World!”分成三部分。生成的元组包含左部分”Hello”,分隔符” “和右部分”World!”。

string = "Hello World!"
parts = string.partition(" ")
print(parts)

输出

('Hello', ' ', 'World!')

方法4:使用splitlines()函数

splitlines()方法是Python字符串的内置方法,它根据换行字符”\n”将字符串分割成一行一行的列表。如果字符串中不包含任何换行字符,则返回一个只包含原始字符串的列表。

语法

string.splitlines()

在这里,splitlines()不需要任何参数,并且总是根据换行符来对字符串进行分割。

示例

在下面的示例中,我们使用splitlines()方法将字符串”Line 1\nLine 2\nLine 3″拆分为一个行的列表。结果列表包含三个元素,分别对应原始字符串中的每一行。

string = "Line 1\nLine 2\nLine 3"
lines = string.splitlines()
print(lines)

输出

['Line 1', 'Line 2', 'Line 3']

方法5:使用re.findall()方法

re.findall()方法是Python中re模块的一个函数,它可以搜索字符串中所有符合指定正则表达式模式的位置,并返回一个包含所有匹配项的列表。正则表达式模式可以包含各种字符,用于表示不同类型的字符或序列,从而允许进行复杂的模式匹配并提取字符串的特定部分。

语法

re.findall(regular_expression, string)

在这里,re.findall()方法采用一个正则表达式,从传递给findall()函数的字符串中查找匹配的单词的出现次数。

示例

在下面的示例中,我们使用re.findall()方法搜索正则表达式模式\b\w{5}\b在字符串中的所有出现。该模式匹配由单词边界(即单词的开始或结束)包围的由正好五个字字符(字母、数字或下划线)组成的任意序列。re.findall()方法返回在字符串中找到的所有匹配项的列表。

import re

string = "The quick brown fox jumps over the lazy dog"
matches = re.findall(r"\b\w{5}\b", string)
print(matches)

输出

['quick', 'brown', 'jumps']

结论

在本文中,我们讨论了如何使用split()函数、列表推导式、分区方法、splitline方法和re.findall()方法来将字符串在Python中拆分成多个子字符串。split()函数接受一个分隔符作为参数,然后根据该分隔符拆分字符串。splitline方法总是根据换行符拆分字符串。根据我们想要拆分的类型,我们可以使用本文中解释的任何方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程