我一直在想這一段時間,但還沒有想出一個不使用一系列if-elif語句的高效解決方案。只從字符串中提取某些單詞並忽略數字等詞
比方說,我有以下字符串:
'Tennessee Tech'
'Auburn 1st'
'Southeast Missouri - Bottom of 2nd'
'Tennessee - Top of 3rd'
什麼是提取剛剛從這些字符串的隊名的最有效的方法是什麼?
換句話說,我所期望的輸出將是如下:
'Tennessee Tech'
'Auburn'
'Southeast Missouri'
'Tennessee'
附註:我不相信,有一些是由三個單詞(比如亞利桑那大學的任何球隊(我的目的) ),但是對於這個實例也會很滿意。
下面的代碼,我只寫了佔用數字移除元素:
s = 'Auburn 1st'
string = s.split()
for j, word in enumerate(string):
if any(char.isdigit() for char in word):
del string[j]
team = ' '.join(string)
print(team)
好吧,我是比較新的正則表達式,但我想我會希望它識別模式,如「字,直到「 - '或'數字'「? – rahlf23
你有你感興趣的團隊名單嗎? – Chirag
你的字符串是怎樣的?第一個(Tenessee Tech)在它之後似乎沒有任何東西,但其他人之後有一些東西。 如果它們全都後面跟一個連字符,可以用連字符分割並取第一部分。 – CentAu