更换多个句号

时间:2013-07-05 09:34:27

标签: python replace

在档案中:

Hello........girlllllllllll
W.o.W

我试过了:

for line in file.split('\n'):
    line = re.sub('[.]+', ' ', line)
    line = re.sub('[.]', '', line)
    print line

结果显示:

 Hello girlllllllllll
 W o W

是否可以获得如下结果?

 Hello girlllllllllll
 WoW

有什么建议吗?

5 个答案:

答案 0 :(得分:3)

使用此:

for line in file.split('\n'):
    # Replace multiple dots with space
    line = re.sub('\.\.+', ' ', line) 
    # Remove single dots
    line = re.sub('\.', '', line)
    print line

答案 1 :(得分:3)

x = file.read()
print re.sub(r'\.\.+', ' ', x).replace('.', '')

答案 2 :(得分:2)

试试这些:

line = re.sub('\.(?!\.)', '', line)
line = re.sub('\.+', ' ', line)
  1. 不替换任何点,后面没有点。
  2. 用空格替换多个圆点。

答案 3 :(得分:2)

line = re.sub(r'\.{2,}', ' ', line)
line = re.sub(r'\.{1}', '', line)

答案 4 :(得分:1)

如果我理解你的问题,你想要用空格替换多个点,但用空字符串替换一个点。

您只需将第一条规则从[.]+更改为[.]{2,}即可。通过这种方式,规则只有在找到两个或更多点时才会匹配,而单点则由第二个规则管理。

for line in file.split('\n'):
    line = re.sub('[.]{2,}', ' ', line)
    line = re.sub('[.]', '', line)
    print line