从Python中的字符串内部删除列表中的模式

时间:2018-05-27 01:54:40

标签: python

好吧,我有一个字符串:

string ="01. 01 22 3 456 0001 02 . 002 3. 0003 4 . 0004 05- 0005 06 - 0006 7- 0007 8 - 0008 09. 0009 10. 0010"

正如您所看到的那样,它是一个列表。重要的是点或hifen之后的数字/数字。并且每个数字或一组数字必须成为列表中的项目:

["01", "22", "3", "456", "0001", "002", "0003", "0004"....etc]

我在正则表达式附近工作,我得到了这个列表:

['01.', '02 .', '3.', '4 .', '09.', '10.', '05-', '06 -', '7-', '8 -']

现在我需要从那里删除它。 拳头是str类型,第二个是类型列表,我不知道用哪种方法来解决它。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用re.findall

import re
string ="01. 01 22 3 456 0001 02 . 002 3. 0003 4 . 0004 05- 0005 06 - 0006 7- 0007 8 - 0008 09. 0009 10. 0010"
results = re.findall('(?<=\s)\d+(?=\s[\d$])|(?<=\s)\d+(?=$)', string)

输出:

['01', '22', '3', '456', '0001', '002', '0003', '0004', '0005', '0006', '0007', '0008', '0009', '0010']