使用python删除文本中的bash格式

时间:2014-04-23 23:46:23

标签: python bash

我的文本文件包含来自bash输出的数据,因此它包含格式化数据,更具体地说,包含如下颜色代码:

[0;31m16521[0;0m [0;32mDesktop/business-models-for-data-economy.pdf[0;0m

我想删除格式化,即以纯文本形式获取:

16521 Desktop/business-models-for-data-economy.pdf

虽然我理解它有点像从[开始删除包含;并以m结尾的块,但我想知道是否有更清晰,更正确的方式这样做。

1 个答案:

答案 0 :(得分:2)

你可以用正则表达式来做到这一点:

import re

s = '[0;31m16521[0;0m [0;32mDesktop/business-models-for-data-economy.pdf[0;0m'

new_s = re.sub(r'\[.*?;.*?m', '', s)

>>> print new_s
16521 Desktop/business-models-for-data-economy.pdf

Demo