【发布时间】:2018-10-16 09:49:12
【问题描述】:
如果用户以不同的格式(顺序、分隔符)提供数字,我正在使用称为 match_main 的 diff_match_patch 方法在可用发票编号列表中查找例如发票编号的最佳匹配
match_main 返回 index,例如,如果模式是 20170630/4072/00 并且可能的发票编号列表是字符串 20180923-5032-02 2016-6872-01 20170630-4072-00 20170620-4072-00 20091204-7914-00(所以带有空格作为分隔符的发票号码)它将返回 30(“正确”号码的第一个字符的索引,即 20170630-4072-00,我知道如何自动提取该号码(我知道数字的第一个字符,我知道它在下一个空格之前结束)但是如果用户提供发票编号但顺序不同(4072-00-20170630)它将返回 39 并且位于 '正确的数字,在这种情况下,我不知道如何提取该数字(我知道数字内某处的字符索引,并且数字在最后一个空格之后开始并在下一个空格之前结束)
【问题讨论】:
-
您应该首先解析提供的发票编号以匹配您的模式。将其拆分为 3 个所需的数字,然后按您想要的顺序返回。
标签: python string python-3.x extract extraction