我正在从互联网上的JSON中提取以下URL。
我正在使用的字符串示例: http://icons.wxug.com/i/c/k/nt_cloudy.gif
我只需要从上面获取“ nt_cloudy”,即可将img(已存储)写到气象应用程序的电子纸显示屏上。我已经尝试过re.split(),但是无论我拆分了什么,都只能得到完整的字符串。
其他所有方法都可以,如果我手动输入文件名,则可以显示图像,但是天气情况发生了变化,因此我需要从JSON中提取名称。同样,它只是在我所卡住的完整字符串中找到特定的字符串。
crontab -eu root
答案 0 :(得分:0)
如果您确信路径将始终以图像文件名结尾,并且在路径后没有查询字符串(例如nt_cloudy.gif?foo=bar&x=y&...
),则可以仅使用Python的{{1 }}标准模块。
https://docs.python.org/3/library/os.path.html
os.path
如果您尝试解码可能包含查询字符串的URL,则可能更喜欢使用#!/usr/bin/env python
import os
URL = 'http://icons.wxug.com/i/c/k/nt_cloudy.gif'
FILENAME = os.path.basename(URL)
模块。
https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse
我不会详细介绍为什么您的正则表达式不能按预期的方式工作,因为老实说,手工制作正则表达式对于此用例而言是过大的。
答案 1 :(得分:0)
您可以使用以下常规表达式:
if t <5 and (5-t)<3: # True! Execute!
new_grade = n * 10 + 5
if t > 5 and (t - 5) >2: # False, skip
new_grade = (n+1) * 10
else: # No if was hit in this block -- execute!
new_grade = grade # uh oh, we just overwrote our previous result..
找到参考文献here。
答案 2 :(得分:0)
请检查此
let regex = /(\w+)\.gif/g.exec("http://icons.wxug.com/i/c/k/nt_cloudy.gif")
if(regex != null && regex.length == 2)
console.log(regex[1]);