Python 替换多个句号
存档:Python 替换多个句号,python,replace,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 有什么建议吗?用这个: f
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
有什么建议吗?用这个:
for line in file.split('\n'):
# Replace multiple dots with space
line = re.sub('\.\.+', ' ', line)
# Remove single dots
line = re.sub('\.', '', line)
print line
使用以下命令:
for line in file.split('\n'):
# Replace multiple dots with space
line = re.sub('\.\.+', ' ', line)
# Remove single dots
line = re.sub('\.', '', line)
print line
试试这些:
line = re.sub('\.(?!\.)', '', line)
line = re.sub('\.+', ' ', line)
line = re.sub('\.(?!\.)', '', line)
line = re.sub('\.+', ' ', line)
如果我能很好地理解你的问题,你希望用空格代替多个点,而用空字符串代替一个点 您只需将第一条规则从
[.]+
更改为[.]{2,}
。这样,只有在找到两个或多个点时,规则才会匹配,将单个点留给第二个规则管理
for line in file.split('\n'):
line = re.sub('[.]{2,}', ' ', line)
line = re.sub('[.]', '', line)
print line
如果我能很好地理解你的问题,你希望用空格代替多个点,而用空字符串代替一个点 您只需将第一条规则从
[.]+
更改为[.]{2,}
。这样,只有在找到两个或多个点时,规则才会匹配,将单个点留给第二个规则管理
for line in file.split('\n'):
line = re.sub('[.]{2,}', ' ', line)
line = re.sub('[.]', '', line)
print line
所以,您想要的是删除和独立的点,并用一个空格替换多个点?有空格和没有空格的条件是什么?只是为了确保,您正在尝试对每一行应用不同的“规则”,不是吗?注意:要在文件的行上迭代,您可能只需要对文件中的行:使用
。另外,文件
是指文件对象类型的内置标识符;您可能应该选择一个不同的名称,以避免将来可能出现的麻烦。@RicardoRodriguez不,我只是想知道这是可能的。那么您想要的是删除和独立的点,并用一个空格替换多个点?空格和无空格的条件是什么?可以肯定的是,您正在尝试应用不同的“规则”对于每一行,否?注意:要迭代文件中的行,您可能只需要对于文件中的行:
。另外,文件
是指文件对象类型的内置标识符;您可能应该选择一个不同的名称,以避免接下来可能出现的麻烦。@RicardoRodriguez不,我只是想知道这是否可行。这实际上会删除一些字符。这实际上会删除一些字符。