如何用一个':'替换许多空格?



每行的空格数不同。如何用一个":"替换多个空格?

*******名称中间有空格。例如:

Angle Shift    J614  

输出:Angle Shift:J614不是Angle:Shift:J614

代码:

configDir={}
configList=[]
for configs in config_info.split('n'):
configs=configs.strip() 
if (configs.find(':')>0):
continue 
if (configs==''):
continue
configs=configs.replace(' ',':')
configList.append(configs)
configDir['config']=configList

输出:

'HandlingTool::::::::::H552',
'Chinese:Dictionary::::H538',
'4D:Standard:::::::::::R782', 
'Analog:I/O::::::::::::H550', 
'Angle:Shift:::::::::::J614', 
'Auto:Software:Update::ATUP', 
'Automatic:Backup::::::J545', 
'Background:Editing::::J616'

数据样本:

在此处输入图像描述

regex就是您所需要的:

import re
pattern = r" +"
text = 'HandlingTool          H552'
sub = re.sub(pattern=pattern, repl = ":", string=text)
print(sub) # HandlingTool:H552

对于输入文件的每一行,您都应该尝试一下

out = ":".join(list(filter(None, inp.split(' '))))
inp =  'HandlingTool        H552'
out = 'HandlingTool:H552'

最新更新