这是字符串的一部分
471 pfm9254-disk01_01 0 io_grp0 online 3 Chassis2_IBMi 100.00GB striped 0 fcmap0 60050768028080EF6400000000001391 1 1 empty 0 no 0
472 IP10-32-41-70_SLES11SP2_10G 0 io_grp0 online 0 pfm3079_pfm3128 10.00GB striped 60050768028080EF64000000000007CE 0 1 empty 0 no 0
473 pfm3128_pva1091_stgvios1 0 io_grp0 online 1 VIOS_StgPool 35.00GB striped 60050768028080EF64000000000007D1 0 1 not_empty 0 no 0
474 vdisk64 0 io_grp0 online 13 pfm9253_pfm9254_new 9.94GB striped 60050768028080EF6400000000001CC4 0 1 empty 0 no 0
475 vdisk65 0 io_grp0 online 13 pfm9253_pfm9254_new 10.00GB striped 60050768028080EF6400000000001CC6 0 1 empty 0 no 0
我想检查它是否包含我的arrayList
的任何成员我知道我可以遍历arrayList,然后检查每个元素字符串是否包含该元素。我正在寻找一个有效的解决方案
这是我的ArrayList
ArrayList<String> volIDsSent = new ArrayList<String>();
volIDsSent.add("60050768028080EF6400000000000AC3");
volIDsSent.add("60050768028080EF6400000000000FF8");
我会逐行从某处获取字符串。
答案 0 :(得分:1)
考虑一次读取数组并通过在每个数组之间连接“|”来构建一个正则表达式字符串,可以手动或使用StringUtils.join之类的东西。然后使用正则表达式对每一行进行阅读。
答案 1 :(得分:0)
如果你想检查你的ArrayList
中的一个字符串是否是你的大字符串的子字符串,你将不得不迭代ArrayList
并在你发现一个事件时中断(如果你真的只是想知道如果还有一个或多个。)
它无法提高效率,因为只要你没有发现任何事件,你就需要检查所有这些。