匹配python中的字符串模式(包括数字和':')

时间:2017-10-13 00:57:05

标签: python string extract

我在这里询问如何在python中提取长字符串中特定类型的字符串。

my string ='start 1:1.300454 end'

我不知道如何在我的字符串示例中仅提取“1:1.300454”。

3 个答案:

答案 0 :(得分:0)

只需使用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

答案 1 :(得分:0)

你可以拆分子串"端"并采取第一部分,然后拆分"开始:"并采取最后一部分:

my_string = 'start 1: 1.300454 end'
extract = my_string.split(' end', 1)[0].split("start ", 1)[-1]
print(extract)

答案 2 :(得分:0)

使用字符串切片。案例。

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'