在Python中如何仅从美元相关字段中删除美元符号和逗号

我正在阅读一个包含大量列的大型文本文件,与美元相关而不是,我正在试图找出如何剥离$和字符的美元字段.

所以说我有:

a|b|c

$1,000|hi,you|$45.43

$300.03|$MS2|$55,000

其中a和c是美元字段而b不是.
输出需要是:

a|b|c

1000|hi,you|45.43

300.03|$MS2|55000

我认为正则表达式是可行的方法,但我无法弄清楚如何表达替换:

f=open('sample1_fixed.txt','wb')

for line in open('sample1.txt', 'rb'):
    new_line = re.sub(r'(\$\d+([,\.]\d+)?k?)',????, line)
    f.write(new_line)

f.close()

有人有想法吗?

提前致谢.

最佳答案 一个简单的方法:

>>> import re
>>> exp = '\$\d+(,|\.)?\d+'
>>> s = '$1,000|hi,you|$45.43'
>>> '|'.join(i.translate(None, '$,') if re.match(exp, i) else i for i in s.split('|'))
'1000|hi,you|45.43'
点赞