我正在阅读一个包含大量列的大型文本文件,与美元相关而不是,我正在试图找出如何剥离$和字符的美元字段.
所以说我有:
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'