添加分隔符并删除逗号

Posted

技术标签:

【中文标题】添加分隔符并删除逗号【英文标题】:Adding delimeters and removing commas 【发布时间】:2012-06-26 22:45:03 【问题描述】:

我有一个文件,我已经输出了几列信息,确切地说是 4 列。此时它们用逗号分隔,但为了让我的伙伴将它们输入另一个脚本,他希望格式带有“|”作为分隔符,逗号被删除,逗号跟随每组数据,所以在我的脚本之后它输出:

[0], [1], [2], [3]

我需要的是:

[0] | [1] | [2] | [3] 

【问题讨论】:

你有没有尝试过自己做?如果是,请显示代码。 【参考方案1】:
s = "[0], [1], [2], [3]"

print s.replace(',', ' |')

# Output:
# [0] | [1] | [2] | [3]

适用于您的测试用例。

或者,你可能会因为类似的东西而疯狂

s = "[0], [1], [2], [3]"

s = s.split(',')
s = map(str.strip, s)
s = " | ".join(s)

print s
# Output:
# [0] | [1] | [2] | [3]

这可能更灵活,具体取决于您的需要。

【讨论】:

【参考方案2】:
>>> print ' | '.join('[0], [1], [2], [3]'.split(', '))
[0] | [1] | [2] | [3]

更新:

其实@jedwards 使用replace 的解决方案更好:

>>> timeit.timeit("'[0], [1], [2], [3]'.replace(', ', ' | ')")
0.36054086685180664

>>> timeit.timeit("' | '.join('[0], [1], [2], [3]'.split(', '))")
0.48539113998413086

【讨论】:

以上是关于添加分隔符并删除逗号的主要内容,如果未能解决你的问题,请参考以下文章

c++ 添加逗号分隔值

Excel 是不是可以识别单元格中以逗号分隔的数字模式并删除该模式的重复项?

十进制逗号删除并将逗号添加到javascript中的大数字

如何在r中添加或减去逗号分隔的数字?

拆分逗号分隔的字符串,同时删除空格和空条目

如何把SQL数据表中一个字段的值按逗号分隔存入另外一个表,并删除重复记录?