4 回答

TA貢獻1797條經驗 獲得超6個贊
如果您的數據看起來總是像您發布的那樣,例如:
Additional Funnel Ireland(50% 押金)- PO 12345
Monthly Retainer (PO00011223)
PO0000054321:3 個月:8 月、9 月、10 月
Monthly Retainer PYB (PO 11236)
Additional Funnel Czech Republic (50%) - PO is 78901
您可以使用正則表達式來提取字符串,
import re res = ''.join(re.search('(PO)[\sA-Za-z]*(\d+)', s).groups())
根據您之前的帖子,舊的解決方案是
s = "Additional Funnel Ireland(50% deposit) - PO 12345" splitted = s.split(' - ')[-1].split() res = splitted[0]+splitted[-1]
這首先提取最后一部分(通過拆分使用-
)以獲得您感興趣的部分。然后您再次拆分(通過
)最終擺脫可能的中間文本。

TA貢獻1802條經驗 獲得超6個贊
如果格式始終相同,則可以用空格拆分整個字符串并獲取最后一個 en 2 但最后一個位置:
txt = "Additional funnel Czech Rep(50%) - PO is 12345"
splt = txt.split()
print(splt[-3], splt[-1])

TA貢獻1946條經驗 獲得超4個贊
考慮到 PO 12345 是一個字符串,您可以使用選擇該字符串的最后 8 個字符[-8:]
。
例子 :
a = 'code is 1234' print(a[-4:])
輸出給出'1234'
。

TA貢獻1784條經驗 獲得超9個贊
以下是提取數據的最簡單方法
logic-> 使用 string.find 方法在字符串中查找 PO 的索引。讓我們假設 x 是 PO 的索引
提取的字符串=PO[x:]
然后將is替換為沒有空格。
代碼->
txt = "Additional funnel Czech Rep(50%) - PO is 12345"
index=txt.find("PO")
extracted_string=txt[index:]
print(extracted_string.replace(" is ","")
輸出
PO12345
添加回答
舉報