Python 替换QRegExp 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

我有一个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.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