如何在 Python 中从字符串中提取子字符串?

2025 年 1 月 4 日 | 阅读 2 分钟

在本教程中,我们将学习如何使用 Python 从字符串中提取子字符串。

有多种方法可以从字符串中提取子字符串。一种方法是利用正则表达式。

让我们通过一些示例来讨论如何使用正则表达式进行提取。

使用正则表达式

正则表达式(Regex)是一系列字符,用于形成搜索模式。要查找文本是否包含特定的搜索模式,请使用 RegEx。

使用正则表达式 re.search() 函数,我们将查找正则表达式提供的字符串并提取它。

示例 1

在下面的示例中,我们将一个字符串作为输入,并使用正则表达式 '(\$[0-9\,]*)' 来提取文本中的数字子字符串。

输出

 
The given string is
The phone is priced at $15,745.95 and has a camera.
The numeric substring is:
$15,745.95   

说明

这个 Python 软件使用 re 模块在一个指定的文本 str1 中搜索数字子字符串。它查找包含美元符号、任意数量的数字、逗号以及表示分数的两位数的模式。如果找到匹配项,则会打印数字子字符串。在此示例中,文本“The phone is priced at $15,745.95 and features a camera”成功提取并打印为“$15,745.95”。

示例 2

要从字符串中提取子字符串,请在正则表达式中使用分组捕获。您需要知道要提取的子字符串的格式和周围的字符。例如,如果您有一行文本,并希望提取 $xxx, xxx. xx 格式的财务数据,则可以使用以下内容。

输出

 
$15,745.95   

说明

此 Python 脚本使用 re 模块在提供的文本中查找数字子字符串。它使用正则表达式模式来匹配美元符号、任意数量的数字和逗号。它以两个表示分数的数字结尾。如果检测到匹配项,它将报告匹配的子字符串。'$15,745.95' 已成功从原始字符串“The phone is priced at $15,745.95 and features a camera.”中提取并打印。

注意:具体的正则表达式将根据您用例的情况而有所不同。