0

我正在尝试在 Groovy 中做一些类似于 SQL 的事情WHERE NAME LIKE %JOHN%

这是我所拥有的:

response.entries = json.entries.findAll { it.name.toUpperCase() =~ /lookupQuery.toString().toUpperCase()/  }

如果我使用 ==,这是可行的,但是我的代码执行 LIKE 搜索时出现问题。

4

2 回答 2

1

问题是lookupQuery没有插入正则表达式中。但是,在这种情况下,您实际上并不需要使用正则表达式:

json.entries.findAll { it.name.toUpperCase().contains(lookupQuery.toString().toUpperCase()) }
于 2013-05-17T13:43:20.233 回答
1

我认为你需要:

json.entries.findAll { it.name.toUpperCase() ==~ /.*${lookupQuery.toUpperCase()}.*/ }
于 2013-05-17T13:40:45.167 回答