gpt4 book ai didi

python - 仅从字符串中提取某些单词并忽略带有数字等的单词

转载 作者:太空宇宙 更新时间:2023-11-04 09:58:47 25 4
gpt4 key购买 nike

我已经考虑了一段时间,但还没有想出一个不使用一系列 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)

最佳答案

就像您在评论中所说的那样,使用正则表达式提取数字或破折号之前的所有内容

import re
new_string = re.split("(\s[-\d])", string_here)[0]

其中 string_here 是此正则表达式的输入。

*编辑为如果前面没有空格则不在连字符上拆分

关于python - 仅从字符串中提取某些单词并忽略带有数字等的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44730008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com