繁体   English   中英

在Java中,什么是悬空的元字符,如何纠正此错误?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM