悬垂元字符Java
我试图在字符串中搜索子字符串并替换它。我正在使用悬垂元字符Java,java,string,metacharacters,Java,String,Metacharacters,我试图在字符串中搜索子字符串并替换它。我正在使用 String p= "+ 0.0"; 但是这一行给了我一个悬而未决的元字符错误。我试过打字,但还是不行。我该如何解决这个问题 我想做以下几件事 if(s.containts(p)){ //s is a given string s.replaceAll(p,""); } 另一方面 s.containts(“+0.0”)不会抛出悬空元字符错误,但 s.replaceAll(“+0.0”和“)抛出错误 有什么原因吗?对+和进行转义,因为+和是正则
String p= "+ 0.0";
但是这一行给了我一个悬而未决的元字符错误。我试过打字,但还是不行。我该如何解决这个问题
我想做以下几件事
if(s.containts(p)){ //s is a given string
s.replaceAll(p,"");
}
另一方面
s.containts(“+0.0”)
不会抛出悬空元字符错误,但
s.replaceAll(“+0.0”和“)代码>抛出错误
有什么原因吗?对+
和
进行转义,因为+
和
是正则表达式的元字符
String p= "\\+ 0\\.0";
那么,您到底在使用p
变量做什么呢?在替换过程中,您最终会使用它作为正则表达式吗?这和这里的问题基本相同,显然你在执行正则表达式匹配操作。所以,你需要学习,引用元字符,或者只使用……如果你使用的是<>代码>字符串。RetryApple(String,String),只需考虑使用。显而易见的方法是,它不会产生“悬空的元字符”错误。显然,您使用的是不同的东西,尽管您没有发布一个。看看他们是否使用正则表达式,他们也应该避开
,尽管根本不需要正则表达式。@khelwood修复了此问题。我同意,但这取决于OP正在做什么。尽管\\有效,但它是“.”所必需的