如何在 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
注意 − 实际的正则表达式将取决于您的用例情况。
广告