每行的空格数不同。如何用一个":"替换多个空格?
*******名称中间有空格。例如:
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'