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
添加回答
举报