我需要用一个字符加上一个通配符来分割一个字符串:

text1 = "CompanyA-XYZ-257999_31.12.2000"
text2 = "CompanyB-XYZ-057999_31.12.2000"

我想在位置 [-2] 或 [-0] 处拆分该字符串,所以就在 XYZ 之后。由于我有两个“-”,因此不能简单地按该字符拆分。事实上,我想以 [-AnyNumber] 的形式进行拆分,其中 AnyNumber 应该是整数的通配符。

最佳答案

您不需要正则表达式,您可以使用 str.rsplitmaxsplit 设置为 1 从右侧拆分:

text1 = "CompanyA-XYZ-257999_31.12.2000"

print(text1.rsplit("-",1))
['CompanyA-XYZ', '257999_31.12.2000']

text2 = "CompanyB-XYZ-057999_31.12.2000"
print(text2.rsplit("-",1))
['CompanyB-XYZ', '057999_31.12.2000']

如果您希望它们存储在变量中,只需解压缩:
comp, dte = text2.rsplit("-",1)
print(comp,dte)
('CompanyB-XYZ', '057999_31.12.2000')

关于python - 按两个条件拆分字符串 - 通配符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29536683/

10-13 06:39