我有以下命令的输出:NAME PLATFORM STATUS---- -- ------XAB Windows YesABB Windows YesAB Windows NoABAB Windows Yes其中 name 列具有唯一的字符串。我想找出名称列中是否存在输入字符串,使其与输入完全匹配。例如,如果我正在搜索 A 或 B,它将返回 false,AB 将返回 true。我试过以下返回false:Arrays.stream(str.split("\n")) .filter(line -> line.matches("^AB ")) .findFirst() .isPresent()string.contains() 似乎不合适,因为它不会进行严格的模式检查。你们可以为此使用流建议一个合适的单行解决方案吗?谢谢。
1 回答
杨魅力
TA贡献1811条经验 获得超6个赞
要检查一行是否以您可以使用的值开头String#startsWith
:
line.startsWith("AB ")
或者,如果您打算使用正则表达式,请.matches
记住它必须匹配整行(因此,添加.*
是必要的,因为它将尽可能多地匹配除换行符以外的任何 0+ 个字符):
line.matches("AB .*")
添加回答
举报
0/150
提交
取消