如果匹配元素出现在列表中,我想提取字符串的一部分,例如我有一个字符串s
和列表l1
:
s = 'Vipul Singh, Jun 24, 1995'
l1 = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
现在我想从'Jun 24, 1995'
中提取字符串s的子字符串,因为列表l1
中存在'Jun'。
所以这就是我想要我的子串的方式,我尝试了很多regex
,str
函数但没有结果。
注意:我有许多与
类似的字符串vipul singh, Jan 1, 2017, 10:00,
ANI,May 6, 2009, 14:59 IST,
答案 0 :(得分:3)
看起来您只需要提取日期,并且由于它们共享一种通用格式,因此对于正则表达式来说这是一个简单的问题。
尝试使用[a-zA-Z]{3}\s[0-9]{1,2},\s[0-9]{4}
['Jun 24, 1995', 'Jan 1, 2017', 'May 6, 2009']
输出:
'ABC 23, 1111'
如果您担心匹配months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
dates = re.findall(r'(?:{})\s[0-9]{{1,2}},\s[0-9]{{4}}'.format('|'.join(months)), s)
之类的内容,则您只能接受有效月份作为前三个字母:
while True:
#Call game()
game()
#Call guessed_letters()
guessed_letters()
#Count how many times guesses
count += 1
check()