[英]In Java what is a dangling meta character and how do I correct this error?
public class StringMerger {
public static boolean isMerge(String s, String part1, String part2) {
for (int i = 0; i < part1.length(); i++)
{
s = s.replaceAll(part1.substring(i, i+1) , "");
}
for (int a =0; a < part2.length(); a++)
{
s = s.replaceAll(part2.substring(a , a+1) , "");
}
return (s.length() == 0);
}
}
我想看看是否给第一部分及第二和两个字符串可以结合起来,创造了给定的String s
。
这适用于大多数常规情况。
但是,在特殊情况类别下,我不断收到错误:
Dangling meta character `+` near index 0
它不总是+
,有时会*
或?
。
什么是悬挂的元字符,我有什么办法可以在给定的代码中对此进行更正。
replaceAll
的第一个参数是正则表达式。 请改用replace
。
'+','*','?' 其他是元字符。 replaceAll
接受正则表达式作为其参数。 因此,当您尝试使用replaceAll
,此类字符将被视为regex的一部分。 要使用它们,您将不得不逃避它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.