Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python先拆分字符串,然后再拆分正则表达式_Python_Regex_Split - Fatal编程技术网

Python先拆分字符串,然后再拆分正则表达式

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)

我有点困在一个基本的问题上,但我真的需要你的帮助。 在这里,我从一个rss提要中得到一个句子,我想提取结尾处或不存在的分数
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> >您忘记了<代码>:<代码>在您的循环定义:<代码>等级:可能是您忘记了<代码>:当声明循环时,帮助您解决了问题?如果是,请考虑。