我怎样才能进行使用地图和匹配我的代码的一部分?

evasi0n:

我想执行我的这部分代码,因为以前我有3个IF相应匹配像

    if (matcher1.find()) {
        myMap.put(matcher1.group(1), matcher1.group(2)
    }
    if (matcher2.find()) {
        myMap.put(matcher2.group(1), matcher2.group(2)
    }
    if (matcher3.find()) {
        myMap.put(matcher3.group(1), matcher3.group(2)
    }

我想知道如果我可以用一个如果englobe这3比赛,并把我的地图与相应的匹配:),如:

for (int i = 0; i < result.size(); i++) {
            Matcher matcher1= patternRecordType.matcher(result.get(i));
            Matcher matcher2 = patternCustomerAreaRecordType.matcher(result.get(i));
            Matcher match3 = patternTotal.matcher(result.get(i));

            if (matcher1.find() || matcher2.find() || matcher3.find()) {
                myMap.put(matcherX.group(1), matcherX.group(2));
            }

        }
Amongalen:

这是不可能用单一一个取代你的3个“如果”。注意,在第一种情况下,在一个单一的互为作用可以“如果”,导致具有添加到地图0-3元件块进入3,2,1或0。如果合并所有三个条件成一个单一的“如果”就进入了“如果”只是一个充其量为至多1加元到地图中产生的。

但是,您可以创建所有的匹配器的集合,然后进行匹配,并增加对他们每个人。这将是这个样子:

List<Matcher> matchers = new ArrayList<>();
Matcher matcher1= patternRecordType.matcher(result.get(i));
Matcher matcher2 = patternCustomerAreaRecordType.matcher(result.get(i));
Matcher matcher3 = patternTotal.matcher(result.get(i));
matchers.add(matcher1);
matchers.add(matcher2);
matchers.add(matcher3);

for (Matcher matcher : matchers){
    if (matcher.find()) {
        myMap.put(matcher.group(1), matcher.group(2));
    }
}

对于只有3个匹配器将它过于复杂的代码,但如果你有超过5种不同的匹配器,那么我会考虑这样的事情。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我怎样才能进行排列?

我如何才能将列表的一部分放在特殊元素的前面?

我的代码只返回代码的一部分

Scala错误处理-如果我的Scala代码的一部分失败,我想将function()作为程序的一部分执行

返回我将鼠标位置与 python 中的坐标匹配的列表的一部分

将我的字符串的一部分与对象数组匹配

如何在我的代码的另一部分中使用输入框的结果?

我可以使用字符串作为可执行代码行的一部分吗?

我如何编译(运行)C# 中的一部分代码?

如何使我的代码的一部分可供多个活动访问

我的代码的哪一部分导致了“超时错误”,为什么?

我的代码的哪一部分使滚动条不显示?

如何在我的代码的这一部分放入变量?

我对 python 代码的一部分感到困惑

C#跳过我的代码的一部分

我该如何安排代码的哪一部分先工作

在 python 中将我的输出代码的一部分更改为字母数字

如何减少我的代码的这一部分,使其不重复

我如何清除状态的一部分

我是僵尸网络的一部分吗?

Safari删除我的段落的一部分

我怎样才能加快我的代码?

索引错误-适用于我的代码的一部分,而不适用于另一部分

使用 redux 和 react,为什么获取新数据会删除我以前状态的一部分?

使用 sed 和模式匹配提取文件名的一部分

我怎样才能迫使象限的每个部分只占据其第四部分(HTML / CSS)?

我需要安装Windows 10 SDK的哪一部分才能获取MakeAppx.exe?

我如何才能使对象仅在JAVA中某个功能的一部分中存在?

我需要安装Windows 10 SDK的哪一部分才能获取uuidgen?