我有一个基于一些解析和重新格式化的数据创建的字段。如果最终结果与特定模式不匹配,我想用空白值替换它。我编写了一些常规代码,但是当我运行它时,我仍然收到“No such property”的错误。
我尝试过在网上查找并移动代码,但由于我的经验非常有限,我没有任何运气。
def formattedData=data['FormattedNum']
def regExpStr=[A-Z]{5}[':'][0-9]{4}
if (formattedData.matches(regExpStr)){
formattedData
} else {
formattedData =''
} ;
我的预期结果是保留 data['FormattedNum'] 如果它与正则表达式匹配,如果不匹配,只需将该字段中的任何内容替换为空白。
最佳答案
什么是数据?这是 map 吗? 让我们假设它是,并且它超出了方法的范围或该代码所在的任何位置......
def data = [FormattedNum: 'ABCDE:0123']
def formattedData= data['FormattedNum']
def regExpStr = /[A-Z]{5}[':'][0-9]{4}/
if (formattedData.matches(regExpStr)){
formattedData
}
else {
formattedData = ''
}
关于java - Groovy 代码 - 使用正则表达式匹配字段并在不匹配时生成空白值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56044887/