簡體   English   中英

如何通過python中的第n個破折號拆分和解析字符串

[英]How to split and parse a string by nth dash in python

我是 python 的新手,我有一個關於用連字符(破折號 -)解析字符串的任務。

給定字符串: db/100749/2020-01-06/100749-2020-01-06-20-25-43-2020-01-06-20-40-43.jpg我喜歡解析20-25-43和來自給定字符串的20-40-43並最終返回一個字符串或數字 202543 和 204043

我嘗試使用類似的東西: .split("-", 5)[:-1] 但我無法弄清楚 5 和 -1 的作用

這個任務聽起來應該可以使用split函數和切片/擴展索引"a string"[1:4]語法)。 閱讀 Python 文檔(鏈接到它們)中函數的作用。

提示:您可以使用"a string"[n]訪問字符串中的字符數 n,並且使用負索引將從字符串的末尾開始倒數。

>>>"abcd"[-1]
'd'

或者,您也可以使用正則表達式(它也經常在其他地方使用,是學習如何使用的好工具)。 正則表達式也被記錄在案

您可以使用正則表達式很好地做到這一點。 當 date 和 id 也被傳遞時(我想是字符串?)你可以簡單地使用一個rf字符串:

import re

search_string = 'db/100749/2020-01-06/100749-2020-01-06-20-25-43-2020-01-06-20-40-43.jpg'

def get_numbers(date,identifier):
    regex = rf'{identifier}-{date}-(\d+-\d+-\d+)-{date}-(\d+-\d+-\d+).jpg'
    return re.findall(regex, search_string)

print(get_numbers('2020-01-06', '100749'))

輸出:

[('20-25-43', '20-40-43')]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM