因为文件分隔符需要统一的问题,今天遇见了要将String中的"/"全部替换成File.separator,可是这行代码却抛出了异常
java.lang.IllegalArgumentException: character to be escaped is missing
String url = "/index/start.html"
url.replaceAll("/",File.separator);
后面仔细观察,在查看了文档后才发现了问题所在,文档中有说==如果是替换字符串中的反斜杠( \ )和美元符号( $ )可能会导致结果与被视为文字替换字符串时的结果不同;==仔细想想在Windows下的File.separator正好就是,可是因为没有直接写反斜杠,反而没有看出问题。
String url = "/index/start.html"
url.replaceAll("/","\\\\");
只要改为上面那个形式就可以正常替换了