我有一个基于某些经过解析和重新格式化的数据创建的字段。如果最终结果与特定模式不匹配,我只想将其替换为空白值。我编写了一些时髦的代码,但是运行它时,我继续收到“无此属性”的错误。

我曾尝试在网上闲逛并移动代码,但由于经验有限,我没有任何运气。

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 = ''
}

09-11 12:04