我有一个字符串,我尝试替换 %s 的第一次出现。
例如:
"$%s".replaceFirst("%s", "10");
Run Code Online (Sandbox Code Playgroud)
返回 10 美元,但
"&cYou do not have %s!".replaceFirst("%s", "$10");
Run Code Online (Sandbox Code Playgroud)
抛出 java.lang.IndexOutOfBoundsException: No group 1
我有打印语句,我知道 100% 是抛出错误的原因,这就是语句中的内容。
包含$前缀的替换被视为组匹配器(即它尝试仅替换匹配的组。
因此$需要使用以下方法进行转义\\:
System.out.println("&cYou do not have %s!".replaceFirst("%s", "\\$10"));
Run Code Online (Sandbox Code Playgroud)