HashMap 搜索和匹配正则表达式

发布于 2024-12-20 08:40:46 字数 513 浏览 0 评论 0原文

我正在尝试在 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 .."

那么,如何将“test 1”与这些节点字符串匹配?

I am trying to search on a HashMap and match specific string to nodes which represent string.

For matching exactly specific value it would have been done like this:

       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");
            }
        }

But I have different case. The node contains long string "xxx .. test 1 .."

So, how can I match "test 1" to these node strings?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风吹雨成花 2024-12-27 08:40:46

你可以只使用indexOf:

if ( entry.getValue().toString().indexOf("test 1") != -1 ) {

You can just use indexOf:

if ( entry.getValue().toString().indexOf("test 1") != -1 ) {
久随 2024-12-27 08:40:46

如果您需要做的只是查看 test 1 是否在字符串中,则可以使用 String.contains() 方法。

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

If all you need to do is see if test 1 is in the string, you can use the String.contains() method.

if(entry.getValue().toString().contains("test1")){
   System.out.println(entry.getValue().toString());
}
else
{
   System.out.println("Nothing found");
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文