Java用反斜杠替换所有(Java replaceAll with Backslashes)
对于这个简单的程序......
import java.lang.String; public class test { public static void main(String[] argv) { String s = "Hello <BSLASH>"; String sReplaced = s.replaceAll("<BSLASH>", "\\\\"); System.out.println("s = " + s); System.out.println("sReplaced = " + sReplaced); } }为什么不用2个反斜杠替换等于Hello \\?
$javac test.java $ java test s = Hello <BSLASH> sReplaced = Hello \For this simple program ...
import java.lang.String; public class test { public static void main(String[] argv) { String s = "Hello <BSLASH>"; String sReplaced = s.replaceAll("<BSLASH>", "\\\\"); System.out.println("s = " + s); System.out.println("sReplaced = " + sReplaced); } }Why doesn't sReplaced equal Hello \\ with 2 backslashes?
$javac test.java $ java test s = Hello <BSLASH> sReplaced = Hello \最满意答案
不要使用replaceAll ,使用replace :
String sReplaced = s.replace("<BSLASH>", "\\\\");replaceAll采用正则表达式,这里不需要(这就是为什么\\\\求值为\ )。
哦,你真的不需要import java.lang.String - 默认情况下导入String类。
Don't use replaceAll for this, use replace:
String sReplaced = s.replace("<BSLASH>", "\\\\");replaceAll takes a regular expression, which is not necessary here (this is why \\\\ evaluates to \).
Oh, and you really don't need import java.lang.String - the String class is imported by default.
更多推荐
发布评论