字符串中删除货币符号和文字我有这样的例子:从价格普遍的解决方案
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