groovy - 如何在 Groovy 数组中查找 %?
问题描述
给定下面的 Groovy 数组(注意 %):
def list = ["H 11 * * * % env=TEST;state=UP"]
有没有办法检查数组元素是否包含 %?
我尝试了 Groovy 的“find”、“findAll”和“any”方法的各种组合,但这些只匹配整个字符串,而不是其中的单个字符。
grep 似乎是解决方案,但是当我尝试这样的事情时:
def name = list.grep(~/%/)
println(name)
它只是打印 []。
我想测试 % 是否出现在数组元素的任何位置。
解决方案
grep
可以像你一样用来过滤数组。它将返回符合条件的所有元素。
唯一的问题是您使用的正则表达式应该~/.*%.*/
代替~/%/
.
顺便说一句,findAll
也可以像 grep 一样工作:
list.findAll { s -> s ==~ /.*%.*/ }
运算符==~
是正则表达式的匹配器。
如果您只是想获得一个真实的(真/假),检查是否至少有一个元素符合条件,any
也可以:
list.any { s -> s ==~ /.*%.*/ }
推荐阅读
- javascript - 我找不到小错误:Invalid shorthand property initializer 等
- python - 如何在由 pandas DataFrame 制作的 matplotlib pyplot 中显示精确值?
- javascript - 在网格布局中单击时突出显示图像并将其置于前面
- xslt - 平面数据库记录到父子 XML 转换
- windows - Get-AD 计算机与文本文件内容不匹配
- mysql - 如何在 MySQL 上将 TLS 版本升级到 1.2
- javascript - 有没有办法缩短定义 v-model 数据、Vue.js 和 Laravel
- mongodb - mongodb $lookup 返回空数组
- android - 如何从使用身份验证的 URL 打开 PDF?
- javascript - 如何改变输出的结构