我一直在使用Processing中的匹配函数来匹配字符串。然而,当我尝试匹配字符串数组中的字符串时,我遇到了问题。下面的代码是我想要做的一个例子:
String zj = "(V)X(PL)X(FR)";
String z = "(V)X(AV)X(FR2)";
String[] list4 = split (zj,'X');
String[] list5 = split (z, 'X');
String BZJ = list4[0];
String BZ = list5[0];
String [] Y = match (BZJ,BZ);
if (Y != null)
{
println ("correct");
}
else
{
println ("incorrect");
}
问题是,如果所有字符都不同,我只会收到“不正确”的答案。从打印输出看,如果函数可以匹配任何字符,则表示该函数是满足的。因此,对于示例代码,我的程序将“FR”与“FR2”匹配。如果我人为地改变字符串以使它们在每个字符中都不同,那么(并且只有那时)我才会收到“不正确”的答案。如果我只是简单地比较两个字符串就不是这种情况,只有在整个字符串匹配时才能满足函数(据我所知)。任何想法一如既往地大受赞赏。
答案 0 :(得分:1)
在您的示例代码中,只需使用.equals()
即可:
if (BZ3.equals(BZ)) {
println ("correct");
...