繁体   English   中英

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

[英]Extract specific word from the string using Python

我有一个字符串Job_Cluster_AK_Alaska_Yakutat_CDP.png

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

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

我是正则表达式的新手。

最后我只想要Yakutat_CDP

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

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])

我认为您要的是这样的:

import os

# I think you will have different jobs/pngs, so pass these variables from somewhere
jobPrefix = 'Job_Cluster_AK_Alaska_'
pngString = 'Job_Cluster_AK_Alaska_Yakutat_CDP.png'

# Split filename/extension
pngTitle = os.path.splitext(pngString)[0]

# Get the filename without the jobPrefix
finalTitle = pngTitle[len(jobPrefix):]

编辑

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM