2011-03-03 13 views
9

में अजगर v2 का उपयोग करना, मैं उपयोगकर्ता के रूप में नीचे एक स्ट्रिंग में एक राशि में प्रवेश किया है अगर कोई दर्ज किया गया है तो $ साइन करें।अजगर कॉमा निकालें डॉलर की राशि

अगर इसे दर्ज किया गया है तो अल्पविराम प्रतीक को निकालने का कोई तरीका है? आईई: 10000.00 बनने के लिए $ 10,000.00

किसी भी मदद के लिए धन्यवाद।

उत्तर

24

आप सभी के लिए अल्पविराम को दूर करने के replace इस्तेमाल कर सकते हैं:

"10,000.00".replace(",", "")

1

अद्यतन StephenPaulger के answer बेहतर है।

मूल उत्तर

आप नियमित अभिव्यक्ति कोई आपत्ति नहीं है तो आप भी एक ही बार में दोनों $ और , बदल सकते हैं। कुछ ऐसा:

>>> import re 
>>> RawPurchaseAmount 
'$10,000' 
>>> re.sub('[\$,]', '', RawPurchaseAmount) 
'10000' 
>>> 

यदि आप एक ही कार्यक्रम में कई बार ऐसा करने की योजना बनाते हैं तो नियमित अभिव्यक्ति को संकलित करना याद रखें।

2
>>> x = '$10,00.00' 
>>> ''.join(e for e in x if e.isdigit() or e == '.') 
'1000.00' 

$, किसी अन्य चरित्र, एक अंकों को छोड़कर या एक ही बार में एक . निकालें।

+0

यह बहुत धीमी गति से होने के लिए बाध्य किया जाता है, हालांकि – tr33hous

15
>>> import re 
>>> re.sub("[^\d\.]", "", "$1,000,000.01") 
'1000000.01' 

नियमित अभिव्यक्ति पैटर्न कहता है "कुछ भी जो संख्या या दशमलव बिंदु नहीं है"। रेगेक्स से मेल खाने वाली कुछ भी "" के साथ बदल दी गई है।

आपको यह ध्यान में रखना होगा कि कुछ यूरोपीय देश उपयोग करते हैं। हजारों सेपरेटर और दशमलव चिह्न के रूप में।

तो "एक करोड़ यूरो और 5 सेंट" € 1.000.000,05 या € 1,000,000.05

+1

मैं अपने खुद के जवाब से बेहतर पसंद हो सकता है। अधिक सटीक। +1। –

संबंधित मुद्दे