如何修剪“:”之前和之后的空格

时间:2016-03-15 11:02:48

标签: python

我正在寻找有关python编码的一些输入。我的输入文本文件如下所示

key1 <space> <space>: <space> value1
key2:value2
key3:<spaces><space>value3

要么:或 - 将用于键值分离。我想要一个像

这样的统一输出
key1 <1space>:<1space>value1
key2 <1space>:<1space>value2
key3 <1space>:<1space>value3

3 个答案:

答案 0 :(得分:5)

我会使用re.sub

re.sub(r'\s*:\s*', '  : ', s)

DEMO

答案 1 :(得分:1)

或没有正则表达式:

key, value = [k.strip() for k in line.split(':')]

只有在您确定每行只有一个:

时才能工作

答案 2 :(得分:0)

不使用正则表达式或列表推导:

key, value = line.replace(' ','').split(':')
'{} : {}'.format(key, value)

这删除了输入行中的所有空格,如果键或值中有空格,则可能会出现问题。