Python 替换QRegExp unicode值中的点和逗号
我有一个unicode值,它是从这种验证器派生的:Python 替换QRegExp unicode值中的点和逗号,python,python-2.7,pyqt,pyqt4,Python,Python 2.7,Pyqt,Pyqt4,我有一个unicode值,它是从这种验证器派生的: # numbers with dots and comma validator= QtGui.QRegExpValidator(QtCore.QRegExp("^\\d{1,3}(([.]\\d{3})*),(\\d{2})$")) 我需要替换该值中的所有点和逗号,并将其转换为int 我试着做: # the replace.replace below i used to use in c++ newvalue = int(oldvalue.r
# numbers with dots and comma
validator= QtGui.QRegExpValidator(QtCore.QRegExp("^\\d{1,3}(([.]\\d{3})*),(\\d{2})$"))
我需要替换该值中的所有点和逗号,并将其转换为int
我试着做:
# the replace.replace below i used to use in c++
newvalue = int(oldvalue.replace(".","").replace(",",""))
但它只适用于以下值:1.000.000000
在0,00或500.000,00等值中,我有以下错误消息:
The debugged program raised the exception unhandled AttributeError "'NoneType' object has no attribute 'replace'"
有人能帮我做这个吗?
多谢各位 好的
问题是在某些情况下,oldvalue==None
,因此我收到了错误消息
通过简单验证解决问题:
if self.rec1[5] != None:
newvalue = int(oldvalue.replace(".","").replace(",",""))
您能举例说明所需的输入和输出吗?您可以输入更多代码,因为我已经尝试过了,而且没有问题。可能相反,1.000.000000无法通过您的验证器(由于逗号后有3位数字,而不是要求的两位数字),然后没有任何值产生错误,0,00或500.000,00工作正常?如果
self.rec1[5]!=无:
到如果不是self.rec1[5]:
:P