使用Python去除文本中的bash格式化

0 投票
1 回答
2129 浏览
提问于 2025-04-18 04:00

我有一个文本文件,里面是从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

示例

撰写回答