4 回答

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

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

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

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊
以下是提取數(shù)據(jù)的最簡(jiǎn)單方法
logic-> 使用 string.find 方法在字符串中查找 PO 的索引。讓我們假設(shè) 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
添加回答
舉報(bào)