この文字列からフロートを作成しようとしています:4\xb1.3189125061
現在これを使用しています:
re.sub(r'[^\d.-]+', "", "4\xb1.3189125061")
しかし、これは : のみを出力し、 .4.3189125061
に続く番号を常に削除します\xb
。誰もこれに対する解決策を知っていますか?
この文字列からフロートを作成しようとしています:4\xb1.3189125061
現在これを使用しています:
re.sub(r'[^\d.-]+', "", "4\xb1.3189125061")
しかし、これは : のみを出力し、 .4.3189125061
に続く番号を常に削除します\xb
。誰もこれに対する解決策を知っていますか?
を使用して示すようにord
、「\xb1」は 1 文字です。
>>> ord('\xb1')
177
>>>
この問題を解決するには、文字列の前に "r" を追加します。
>>> import re
>>> re.sub(r'[^\d.-]+', "", r"4\xb1.3189125061")
'41.3189125061'
>>>
または使用repr
:
>>> import re
>>> re.sub(r'[^\d.-]+', "", repr("4\xb1.3189125061"))
'41.3189125061'
>>>