如何比较文件行和带有占位符的字符串?

时间:2019-04-28 23:40:07

标签: java file-io string-comparison

我正在寻找使用占位符将文件到字符串的行进行比较。

该文件包含计算机(Windows和Linux计算机)上已使用的COMACMUSB端口的列表,我想添加COMx,{ {1}},ACMx到LinkedList,其中x是计算机分配的端口号。

我在做:

USBx

,它将添加// LinkedList<string> addr instantiated before. // This if structure is inside a while loop reading each line of the file // and storing it to line that breaks when line = null. Line is set to // lower case for processing purposes. if(line.contains("com") || line.contains("acm") || line.contains("usb")) { addr.add(line); } COM6。我正在寻找的是一种仅获取COMBluetooth Device端口而不获取COM6端口或其他任何未编号端口的方法,然后将此COMBluetooth Device子字符串添加到地址列表。

我被认为可以使用格式化的占位符来做到这一点,但是我如何将其集成到此COMx语句中呢?如果没有占位符,我应该怎么做呢?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此方法:

private static boolean getResult(String line) {
    Pattern p = Pattern.compile("(COM|ACM|USB)\\d");
    Matcher m = p.matcher(line);
    return m.find();
}

如果您需要添加更多端口,则可以添加(COM|ACM|USB|nextPort|next|next),依此类推