Python 删除重复空白和有效删除所有空白的简单方法\n
我有一个名为Python 删除重复空白和有效删除所有空白的简单方法\n,python,python-3.x,string,for-loop,Python,Python 3.x,String,For Loop,我有一个名为test.txt的文件,它有一堆重复的空格。test.txt文件包含HTML。我想删除所有不必要的空白,以减小test.txt文件中内容的大小。如何删除重复的空格并将整个字符串放在一行上 test.txt <center> <b class="test" >My name is fred</ b> <center> 我的名字 是 弗雷德 我想打印什么 <center><b
test.txt的文件,它有一堆重复的空格。test.txt
文件包含HTML。我想删除所有不必要的空白,以减小test.txt
文件中内容的大小。如何删除重复的空格并将整个字符串放在一行上
test.txt
<center>
<b class="test" >My name
is
fred</ b> <center>
我的名字
是
弗雷德
我想打印什么
<center><b class="test">My name is fred</b><center>
我叫弗雷德
打印什么
<center><b class="test" >Mynameisfred</b> <center>
Mynameisfred
program.py
def is_white_space(before, curr, after):
# remove duplicate spaces
if (curr == " " and (before == " " or after == " ")):
return True
# Remove all \n
elif (curr == "\n"):
return True
return False
f = open('test.txt', 'r')
contents = f.read()
f.close()
new = "";
i = 0
while (i < len(contents)):
if (i != 0 and
i != (len(contents) - 1) and
not is_white_space(contents[i - 1], contents[i], contents[i + 1])):
new += contents[i]
i += 1
print(new)
def是白色空间(之前、当前、之后):
#删除重复的空格
如果(curr==”和(before==”或after==”):
返回真值
#删除所有\n
elif(curr==“\n”):
返回真值
返回错误
f=打开('test.txt','r')
contents=f.read()
f、 关闭()
新=”;
i=0
而(i
这将在数字或字母之间留下一个空格
from string import ascii_letters, digits
def main():
with open('test.txt', 'r') as f:
parts = f.read().split()
keep_separated = set(ascii_letters) | set(digits)
for i in range(len(parts) - 1):
if parts[i][-1] in keep_separated and parts[i + 1][0] in keep_separated:
parts[i] = parts[i] + " "
print(''.join(parts))
if __name__ == '__main__':
main()