正则表达式捕获不等于相等值的字符串

时间:2016-07-15 20:20:29

标签: android regex

打印到控制台时,两个字符串看起来都相同,但使用“==”

进行比较时则不一样

我在这里做错了什么?

String message = "Rejected | Ref ID: CaptureMe | Name:";  

Pattern pattern = Pattern.compile("\\bRef ID:\\s+(\\S+)");     

Matcher matcher = pattern.matcher(message);

String matchedRef = matcher.group(1); 
System.out.print(matchedRef);    

打印:CaptureMe

String myRef = "CaptureMe";

if(matchedRef == myRef){
System.out.print(true);
}
else{
System.out.print(false);
}

打印:错误

1 个答案:

答案 0 :(得分:2)

要比较字符串,您需要使用equals()方法,而不是==运算符。

if(matchedRef.equals(myRef)){
    System.out.print(true);
}
else{
    System.out.print(false);
}

您可以在this question中了解有关String比较的更多信息。