String value = "+";
if (value.contains("\\+"))
{
value = value.replaceAll("\\+", " ");
}
if子句返回false。为什么?我应该在if子句中使用什么方法来返回true?提前谢谢。
答案 0 :(得分:3)
为什么不使用
value.equals("+")
答案 1 :(得分:0)
不要使用value.equals("+")
,因为它可以nullpointer exception
使用,"+".equals(value)
它可以使用。
答案 2 :(得分:0)
您需要在使用String.contains()检查值中是否存在+时删除\\
。它需要char序列来搜索而不是正则表达式。但是,您需要传递一个正则表达式作为String.replaceAll()方法的第一个参数:
String value = "+";
if (value.contains("+"))
{
value = value.replaceAll("\\+", " ");
}
对于您的情况,您可以使用String.replace(),因为它接受字符串文字。
value = value.replace("+", " ");
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#contains(java.lang.CharSequence)