Python 3中的re.sub()省略号

时间:2017-09-14 02:26:35

标签: regex python-3.x

我需要一个简单的解决方案,但它正在躲避我。我正在将一个字符串列表传递给for循环以进行一些清理,并且需要删除任何省略号的实例。这是我尝试过的一个例子:

text_list = ["string1", "string2", "string3...", "string.4"]
for i in range(len(text_list)):
    text_list[i] = re.sub("\.", "", text_list[i])
    text_list[i] = re.sub("\.{3}", "", text_list[i])
    text_list[i] = re.sub("\.\.\.", "", text_list[i])

当然,这些都不会删除省略号。但是,这个时期被删除了。所以我的输出是:

for text in text_list:
    print(text)

>>>string1
   string2
   string3...   <- THIS ONE DIDN'T CHANGE
   string4      <- BUT THIS ONE DID

我已经用尽了我的正则表达式文档和Google搜索。如何将省略号与正则表达式匹配?

1 个答案:

答案 0 :(得分:0)

@swalladge在这里有正确的想法:使用unicode。这是他的答案。

“如果你想删除一个实际的省略号,就像在unicode HORIZONTAL ELLIPSIS字符(...)中一样,那么你需要在代码中使用它,因为3个句点与它不匹配。” - @ swalladge

@rickdenhaan也有一种更简单的方法来完成任务。谢谢!