package cn.rg.demo.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class BaseHtmlParser {
public static String changeSymbol(String url){
String url2=url.replaceAll("\\\\","\\\\\\\\");
return url2;
}
public static void main(String[] args) {
System.out.println("C:\\Program Files\\360");
System.out.println(changeSymbol("C:\\Program Files\\360"));
}
}
输出结果:
C:\Program Files\360
C:\\Program Files\\360
原理不知道,如下解释:
String.replaceAll ()是用regular expression 来作为参数的。但是java本身的字符串对于转义符\也有类似的处理。首先,java会把“\\\\”解释成一个字符串(其中包含两个char)——“\\”这个就是你在JDK的文档里看到的。
接下来,由于replaceAll 是以正则表达式作为参数,所以“\\”被解释成一个regex。对于一个regex来说这就代表着一个字符,就是“\”。对后面的那个8个\来说,最终会被解释成“\\”。
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class BaseHtmlParser {
public static String changeSymbol(String url){
String url2=url.replaceAll("\\\\","\\\\\\\\");
return url2;
}
public static void main(String[] args) {
System.out.println("C:\\Program Files\\360");
System.out.println(changeSymbol("C:\\Program Files\\360"));
}
}
输出结果:
C:\Program Files\360
C:\\Program Files\\360
原理不知道,如下解释:
String.replaceAll ()是用regular expression 来作为参数的。但是java本身的字符串对于转义符\也有类似的处理。首先,java会把“\\\\”解释成一个字符串(其中包含两个char)——“\\”这个就是你在JDK的文档里看到的。
接下来,由于replaceAll 是以正则表达式作为参数,所以“\\”被解释成一个regex。对于一个regex来说这就代表着一个字符,就是“\”。对后面的那个8个\来说,最终会被解释成“\\”。