所以我有一個視頻檔案的 URL,我可以做一個簡單的 hack 來獲取音頻檔案,我需要以某種方式編輯字串。
這是起始字串:
https://v.redd.it/jvjih3f894b61/DASH_1080.mp4?source=fallback
我需要將解析度替換DASH_1080為DASH_audio,我想我可以替換_之后DASH和.之前之間的所有內容,.mp4但是有多次出現,.因此使用string.partition不起作用。
URL 應如下所示:
https://v.redd.it/jvjih3f894b61/DASH_audio.mp4?source=fallback
我怎么能做到這一點,最好沒有正則運算式,但我知道這可能是唯一的方法。
謝謝你。
uj5u.com熱心網友回復:
>>> s = 'https://v.redd.it/jvjih3f894b61/DASH_1080.mp4?source=fallback'
>>> re.sub('DASH_\d ', 'DASH_audio', s)
'https://v.redd.it/jvjih3f894b61/DASH_audio.mp4?source=fallback'
uj5u.com熱心網友回復:
使用正則運算式和re.sub:
s = "https://v.redd.it/jvjih3f894b61/DASH_1080.mp4?source=fallback"
re.sub(r"(?<=_). ?(?=\.)", "audio", s)
# 'https://v.redd.it/jvjih3f894b61/DASH_audio.mp4?source=fallback'
兩個括號中的運算式是正向前瞻/后視斷言。
(?<=_). ?(?=\.)
非貪婪地匹配和". ?"之間的任何 ( ) 。"_""."
uj5u.com熱心網友回復:
我的意思是......它很丑,正則運算式更好,但它可能會起作用......
str = "https://v.redd.it/jvjih3f894b61/DASH_1080.mp4?source=fallback"
str_split = str.split("DASH_")
end_str = str_split[1].split(".")
str = str_split[0] "DASH_audio." ".".join(end_str[1:])
輸出 https://v.redd.it/jvjih3f894b61/DASH_audio.mp4?source=fallback
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/341427.html
