Как сравнить строку файла со строками с заполнителями? - PullRequest
0 голосов
/ 29 апреля 2019

Я хочу сравнить строку из файла со строкой с заполнителем.

Файл содержит список используемых портов COM, ACM, USB с компьютера (на компьютерах с Windows и Linux), и я хочу добавить COMx, ACMx, USBx в LinkedList, где x - это номер порта, назначенный компьютером.

Я делал:

// 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 в список адресов.

Меня убеждают, что я могу сделать это с отформатированными заполнителями, но как бы я интегрировал это в это заявление if?И если не заполнители, как мне это сделать?

1 Ответ

0 голосов
/ 29 апреля 2019

Вы можете попробовать этим методом:

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) и т. Д.

...