Groovy - 如何将列表的一部分与字符串进行比较

时间:2013-06-05 08:25:09

标签: groovy comparison

我有一个包含两种类型文本的列表。一种类型用于授权,而其他类型用于所有其他目的。 用于授权的类型总是使用相同的文本+后面的一些代码。 我想比较这两种文本的内容,并根据内容将它们分开。

我的想法是在授权类型中查找模式,如果它与模式匹配,那么这将被标记为授权,否则它将被标记为“其他”。

我研究了Groovy中模式的比较,但我尝试的所有变体对我都不起作用。这是应该进行比较的部分,我显然做错了但我不知道是什么。

  jdbcOperations.queryForList(sql).collect { row ->
     if(assert (row['MSG'] ==~ /token/)){
  mark as authorization
 }
 else{
      mark as other
    }
  }

对于模糊的代码感到抱歉,我不能分享更多。

1 个答案:

答案 0 :(得分:0)

我认为你错过了其余文本的匹配,因为你只想找到匹配的第一部分。

assert ("abc" ==~ /abc/) == true
assert ("abcdefg" ==~ /abc/) == false
assert ("abcdefg" ==~ /abc(.*)/) == true // <--- This can also be made more complicated