HashMap поиск и соответствие регулярному выражению - PullRequest
1 голос
/ 09 декабря 2011

Я пытаюсь найти в HashMap и сопоставить конкретную строку с узлами, которые представляют строку.

Для сопоставления точно определенного значения это было бы сделано так:

       for (Entry<String, Component> entry : hashMap.entrySet()) {
            if(entry.getValue().toString().matches("test1")){
                System.out.println(entry.getValue().toString());
            }
            else
            {
                System.out.println("Nothing found");
            }
        }

НоУ меня другой случай.Узел содержит длинную строку "xxx .. test 1 .."

Итак, как мне сопоставить «тест 1» с этими строками узла?

Ответы [ 2 ]

2 голосов
/ 09 декабря 2011

Вы можете просто использовать indexOf:

if ( entry.getValue().toString().indexOf("test 1") != -1 ) {
0 голосов
/ 09 декабря 2011

Если все, что вам нужно сделать, это посмотреть, есть ли в строке test 1, вы можете использовать метод String.contains ().

if(entry.getValue().toString().contains("test1")){
   System.out.println(entry.getValue().toString());
}
else
{
   System.out.println("Nothing found");
}
...