使用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 个回答
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