使用Python从字符串中提取特定单词

时间:2019-01-21 14:06:35

标签: python string

我有一个字符串Job_Cluster_AK_Alaska_Yakutat_CDP.png

从上面的字符串中,我只想提取此单词Job_Cluster_AK_Alaska_之后和.png之前的单词。

所以基本上我想提取下划线分隔的第四个单词,直到.png之前的单词

我是regex的新手。

最后我只想要Yakutat_CDP

2 个答案:

答案 0 :(得分:2)

即使没有正则表达式,您也可以这样做:

s = 'Job_Cluster_AK_Alaska_Yakutat_CDP.png'
print(s[len('Job_Cluster_AK_Alaska_'):-len('.png')])

本质上,我将子字符串从Job_Cluster_AK_Alaska_之后立即开始,并在.png之前结束。

也许正则表达式方法仍更具可读性和可维护性:

import re
m = re.match('Job_Cluster_AK_Alaska_(.*).png')
print(m[1])

答案 1 :(得分:2)

我认为您要的是这样的东西:

desired effect example:
    input list = [0,0,0,0]
    looplength = 20
    result = [5,6,4,5]    
    sum(result) = looplength

actual example:
    input list = [0,0,0,0]
    looplength = 20
    result = [5,6,6,5]    
    sum(result) =! looplength

修改

尝试避免使用正则表达式,因为它通常比字符串切片要慢得多