このJava APIから:
上記のように、ドル記号はキャプチャされたサブシーケンスへの参照として扱われる場合があり、バックスラッシュは置換文字列内のリテラル文字をエスケープするために使用されます。
私は最初のビットを取得します, ただし、太字で強調された部分については少し混乱します. 「リテラル文字をエスケープする」とはどういう意味ですか? 置換文字列でどのようなリテラル文字をエスケープしますか?
前もって感謝します。
このJava APIから:
上記のように、ドル記号はキャプチャされたサブシーケンスへの参照として扱われる場合があり、バックスラッシュは置換文字列内のリテラル文字をエスケープするために使用されます。
私は最初のビットを取得します, ただし、太字で強調された部分については少し混乱します. 「リテラル文字をエスケープする」とはどういう意味ですか? 置換文字列でどのようなリテラル文字をエスケープしますか?
前もって感謝します。
まあ、$
;)
public static void main(final String... args)
{
final Pattern p = Pattern.compile("one dollar");
final String input = "I want one dollar, please";
// IndexOutOfBoundsException: no group 1
System.out.println(p.matcher(input).replaceFirst("$1"));
// You need to escape the "$"
System.out.println(p.matcher(input).replaceFirst("\\$1"));
}