在Python中匹配字符串模式(包括数字和':')
问题描述:
我在这里问如何在Python中的长字符串中提取特定类型的字符串。在Python中匹配字符串模式(包括数字和':')
我的字符串=“开始1:1.300454结束”
我不就没怎么只有“1:1.300454”提取我的字符串样本。
答
只需使用regular expressions。
import re
pattern = re.compile(r'^start (.*) end$')
my_string = 'start 1: 1.300454 end'
extract = pattern.match(my_string).group(1)
print(extract)
打印
1: 1.300454
答
您可以在子 “结束” 分裂,并采取第一部分,然后点击 “开始” 拆走最后一部分:
my_string = 'start 1: 1.300454 end'
extract = my_string.split(' end', 1)[0].split("start ", 1)[-1]
print(extract)
答
使用字符串切片。您的案例。
In [7]: def extract_content(string, prefix='start ', suffix=' end'):
...: return string[len(prefix):-len(suffix)]
...:
In [8]: string
Out[8]: 'start 1: 1.300454 end'
In [9]: extract_content(string)
Out[9]: '1: 1.300454'