我有一个基于某些经过解析和重新格式化的数据创建的字段。如果最终结果与特定模式不匹配,我只想将其替换为空白值。我编写了一些时髦的代码,但是运行它时,我继续收到“无此属性”的错误。
我曾尝试在网上闲逛并移动代码,但由于经验有限,我没有任何运气。
def formattedData=data['FormattedNum']
def regExpStr=[A-Z]{5}[':'][0-9]{4}
if (formattedData.matches(regExpStr)){
formattedData
} else {
formattedData =''
} ;
我的预期结果是保留data ['FormattedNum'](如果它与正则表达式匹配),如果不匹配,则只需将该字段中的内容替换为空白即可。
最佳答案
什么是数据?是地图吗?
让我们假设它是正确的,并且超出了方法的范围或此代码所在的位置...
def data = [FormattedNum: 'ABCDE:0123']
def formattedData= data['FormattedNum']
def regExpStr = /[A-Z]{5}[':'][0-9]{4}/
if (formattedData.matches(regExpStr)){
formattedData
}
else {
formattedData = ''
}