私はいくつかのjdkコードを見ていました。私はこれらの文字を見つけた。誰かが私にこれらの意味を説明することができますか?Javaではこれらの特殊文字は何を意味しますか?
public static String quote(String s) {
int slashEIndex = s.indexOf("\\E"); // What does this mean. Is this a special char in java. if so what does this do.
if (slashEIndex == -1)
return "\\Q" + s + "\\E";
StringBuilder sb = new StringBuilder(s.length() * 2);
sb.append("\\Q");
slashEIndex = 0;
int current = 0;
while ((slashEIndex = s.indexOf("\\E", current)) != -1) {
sb.append(s.substring(current, slashEIndex));
current = slashEIndex + 2;
sb.append("\\E\\\\E\\Q");
}
sb.append(s.substring(current, s.length()));
sb.append("\\E");
return sb.toString();
}
\の発生を検出し、Eと\ Qを\に変換し法のように、私は何が起こっているのかを把握することができた上記のコード例から。誰かがそれがなぜその理由であるか説明できますか?この方法の詳細については、コンテキスト
は、私が1.6 JDK
このコードは、[Javaソースからまっすぐ持ち上げる]ているように見えます/util/regex/Pattern.java.html)( 'Pattern.java'、行1276..1293)。 – dasblinkenlight
はい、jdkソースからです。Pattern.java – JourneyMan