在档案中:
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
有什么建议吗?
答案 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)
答案 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