字符串中刪除貨幣符號和文字我有這樣的例子:從價格普遍的解決方案
USD 10.99
LIR10.99
$ 10.99
$ 10.99
所以輸入數據可能是任何'symbolfloat'或's ymbol浮動'。
我做了這樣的事情:
float((str(param[2]).translate(None, '$USDLIR')))
但它可以是任何世界貨幣,所以它必須是一個通用型變頻器。
字符串中刪除貨幣符號和文字我有這樣的例子:從價格普遍的解決方案
USD 10.99
LIR10.99
$ 10.99
$ 10.99
所以輸入數據可能是任何'symbolfloat'或's ymbol浮動'。
我做了這樣的事情:
float((str(param[2]).translate(None, '$USDLIR')))
但它可以是任何世界貨幣,所以它必須是一個通用型變頻器。
從不是一個數字或小數點字符串中刪除任何東西:
import re
import locale
decimal_point_char = locale.localeconv()['decimal_point']
clean = re.sub(r'[^0-9'+decimal_point_char+r']+', '', str(param[2]))
value = float(clean)
這也將處理分組($ 1,000.00
)和不同的語言環境。
我只是找到了一個解決方案:
def price_convert(_price):
return float(sub(r'[^0-9.]', '', _price))
您可以刪除以外的所有號碼(包括逗號或小數點點):
import re
trim = re.compile(r'[^\d.,]+')
mystring = 'USD 10.99'
result = trim.sub('', mystring)
print(result)
# '10.99'
第一個數字之前刪除一切嗎? – 2014-11-25 13:41:32
def price_convert(_price): return float(sub(r'[^ 0-9。]','',_price)) – 2014-11-25 13:44:12