2017-01-20 14 views
1

私はre.subでpythonで操作をしようとしていますが、うまく機能しません。 逆参照を使用してre.subを使用して小数点以下を追加します。

私はこのような何かがうまくいくかもしれないと思った:私は常に小数点以下7つの数字を持っている数の文字列の小数点を作成

newstring = re.sub('\([0-9]*\)\([0-9]{7}\)','\1.\2', oldstring) 

。たとえば、

13871250 --> 1.3871250 

ありがとうございます。捕捉括弧から

+1

使用 'をnewstring = re.sub(R '([0-9] *)([0-9] {7})'、R '\ 1 \ 2'、 oldstring) ' - キャプチャ括弧からエスケープするバックスラッシュを削除し、特に置換パターンで生の文字列リテラルを使用します。 –

+0

'10e7'の部門はどうですか? – Toto

+0

@WiktorStribiżewは完璧です。あなたはそれを答えることができますか? – badner

答えて

1

削除エスケープバックスラッシュは、(\(リテラル(と一致するように、同じことが)シンボルと一致\)である)、特に置換パターンで、生の文字列リテラルを使用します。

使用

newstring = re.sub(r'([0-9]*)([0-9]{7})',r'\1.\2', oldstring) 
関連する問題