当前位置: 首页 > 知识库问答 >
问题:

如何找到两个数组中字符串之间的匹配-java[duplicate]

仉磊
2023-03-14
abcd                    
efgh            
servicegroup_1
ijkl 
servicegroup_3
servicegroup_1

我实现了以下代码:

for (int i = 0; i < scopeFile.length; i++) {
                for (String element : scopeJWT) {
                    if (scopeFile[i].contains(element)) {
                        ctx.setSendZuulResponse(true);
                        System.out.println(now + " --- " + "[Check Signature: OK]" + " [Verify Scope: OK]" + " [Verify expTime: OK]");
                    } else {
                        ctx.setSendZuulResponse(false);
                        ctx.setResponseStatusCode(HttpStatus.UNAUTHORIZED.value());
                        System.err.println(now + " --- " + "[VERIFY SCOPE: KO]");
                    }
                }
}

但是,它同时返回verify scope:OKverify scope:KO,即使在考虑我报告的数组时,我只打印verify scope:OK(因为数组#1包含ServiceGroup_1)

有什么办法可以修正我的代码吗?谢谢你

共有1个答案

柴华灿
2023-03-14

您忘记在Array1中找到字符串后中断循环。尝试在此行后添加分符;:

System.out.println(now + " --- " + "[Check Signature: OK]" + " [Verify Scope: OK]" + " [Verify expTime: OK]");

并检查循环外的非OK大小写。

像这样:

boolean isOk = false;
for (int i = 0; i < scopeFile.length; i++) {
    for (String element : scopeJWT) {
        if (scopeFile[i].contains(element)) {
            ctx.setSendZuulResponse(true);
            System.out.println(now + " --- " + "[Check Signature: OK]" + " [Verify Scope: OK]" + " [Verify expTime: OK]");
            isOk = true;
            break;
        }
    }
}
if (!isOk) {
    ctx.setSendZuulResponse(false);
    ctx.setResponseStatusCode(HttpStatus.UNAUTHORIZED.value());
    System.err.println(now + " --- " + "[VERIFY SCOPE: KO]");
}
 类似资料:
  • 但匹配不对。同样,页面上的公认答案对我也不起作用。我错过了什么?

  • 问题内容: 如何找到两个子字符串之间的字符串? 我当前的方法是这样的: 但是,这似乎效率很低而且不合Python。什么是做这样的更好的方法? 忘了提:该字符串可能无法启动,并最终和。他们之前和之后的字符可能更多。 问题答案:

  • 问题内容: 这应该非常简单。如果我有这样的字符串: 那么通常会采用什么方式来获取与此模式匹配的文件列表?(例如,它应该匹配但不匹配 我看了一下,看起来像是对的野兽,但是我不确定如何使用它在相对目录路径中查找文件。 我想我可以查找ant的源代码,因为它使用了通配符语法,但是我必须在这里遗漏一些显而易见的内容。 (编辑:上面的示例只是一个示例案例。我正在寻找一种在运行时解析包含通配符的常规路径的方法。

  • 问题内容: 我有两个数组,我希望能够比较两个数组,只返回匹配的值。例如,两个数组都具有值,因此将返回该值。我还没找到这样的东西。返回相似度的最佳方法是什么? 问题答案: 自然,我的方法是循环遍历第一个数组一次并检查第二个数组中每个值的索引。如果索引为,则将其添加到返回的数组中。 我的解决方案不像其他循环那样使用两个循环,因此它的运行速度可能会更快一些。如果要避免使用,则可以先对两个数组进行排序,以

  • 问题内容: 我尝试获取<%=和%>之间的字符串,这是我的实现: 它返回 但我的期望是: 我在哪里错了以及如何纠正它? 问题答案: 您的模式很好。但是,您不应该轻信它,应该这样做。以下代码提供了您正在寻找的输出:

  • 问题内容: 我正在尝试 使用循环从两个不同的用户输入中打印常用字母。(我需要使用for循环来完成它。)我遇到了两个问题:1.我的语句“ If char not in output …”没有提取唯一值。2.输出为我提供了单个字母列表,而不是单个字符串。我尝试分割输出,但是分割遇到类型错误。 问题答案: 您正在尝试执行“设置相交”。Python有 相同的方法。您可以将其用于您的用例,例如: 将返回字符