Python先拆分字符串,然后再拆分正则表达式
我有点困在一个基本的问题上,但我真的需要你的帮助。 在这里,我从一个rss提要中得到一个句子,我想提取结尾处或不存在的分数Python先拆分字符串,然后再拆分正则表达式,python,regex,split,Python,Regex,Split,我有点困在一个基本的问题上,但我真的需要你的帮助。 在这里,我从一个rss提要中得到一个句子,我想提取结尾处或不存在的分数 grades=offeredentry.get(“title”和“).split(“”) 所以我把它分开,下面是我得到的: 现在我需要得到'9,25',我想我应该使用正则表达式,所以我使用grades作为数组: for grade in grades x = re.findall("/20$", grade)
grades=offeredentry.get(“title”和“).split(“”)
所以我把它分开,下面是我得到的:
现在我需要得到'9,25',我想我应该使用正则表达式,所以我使用grades作为数组:
for grade in grades
x = re.findall("/20$", grade)
print(x)
在这里,我得到了一个没有任何说明的错误:/I我认为它来自我的for循环,但我被卡住了,并且它从一段时间以来一直存在。要从您提供的列表中获取数字,只需获取最后一项并使用/
拆分,然后获取第一项:
print ( grades[-1].split('/')[0] )
您可以使用正则表达式直接从字符串中提取:
和/
之间的数字:
import re
text = "Séance1 : 9.25/20"
m = re.search(r':\s*(\d[\d.]*)/', text)
if m:
print ( m.group(1) )
看。您可以添加逻辑来处理找不到号码的情况
正则表达式详细信息
:
-冒号
\s*
-0+空格
(\d[\d.]*)
-第1组:一个数字,然后是0个或更多数字或
字符
/
-一个/
字符
请参阅。此处不需要正则表达式
这应该行得通
grades[-1].split('/')[0]
在这里,我们试图获得['Séanse1',':','9.25/20']的最后一个索引的值,即9.25/10
grades[-1]
我们使用split函数对出现“/”的9.25/10进行拆分,得到[9.25,10]
split('/')
然后我们选择上一步的第0个索引,因此得到9.25。这可以帮助您
import re
title = "Seance1' : 9.25/20"
re.search(r'(?<=(\:\s))[\d\.]+(?=[\/])', title).group()
重新导入
title=“Seance1”:9.25/20
RE(不需要ReXEX:<代码>打印(等级[-1).Seal'('/')[0 ])< /C> >您忘记了<代码>:<代码>在您的循环定义:<代码>等级:可能是您忘记了<代码>:当声明循环时,帮助您解决了问题?如果是,请考虑。