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


在本文中,我们将了解如何在 Python 中从字符串中提取子字符串。

第一种方法是使用正则表达式。创建搜索模式的一串字符称为正则表达式或正则表达式。正则表达式可用于确定字符串是否包含给定的搜索模式。

我们将使用正则表达式的re.search方法,并搜索正则表达式给出的给定字符串,然后将其提取出来。

示例 1

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

import re
str1 = 'The phone is priced at $15,745.95 and has a camera.'

print("The given string is")
print(str1)

print("The numeric substring is:")
res = re.search('(\$[0-9\,]*.[0-9]{2})', str1)
if res:
   print(res.group(1))

输出

上面示例的输出如下所示:

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

示例 2

您可以在正则表达式中使用分组捕获从字符串中提取子字符串。您需要知道要提取的子字符串的格式和周围环境。例如,如果您有一行并希望以 $xxx,xxx.xx 格式从中提取货币信息,您可以使用以下内容:

import re
text = 'The phone is priced at $15,745.95 and has a camera.'
m = re.search('(\$[0-9\,]*.[0-9]{2})', text)
if m:
    print (m.group(1))

输出

这将产生以下输出:

$15,745.95

注意  实际的正则表达式将取决于您的用例情况。

更新于: 2022-12-07

4K+ 阅读量

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告