2012-09-07 39 views
0

我一直在使用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”。如果我人为地改变字符串以使它们在每一个字符中都不同,那么(并且只有这样)才会收到“不正确”的答案。如果我单独比较两个字符串,并不是这种情况,那么函数(只要我能说)只在整个字符串匹配的情况下才能满足。任何想法一如既往非常赞赏。

回答

1

在您的示例代码,只需使用.equals()将工作:

if (BZ3.equals(BZ)) { 
    println ("correct"); 
...