Tuesday, November 20, 2012

String replaceAll(rex,String) & replace(String,String)

java 正斜杠与反斜杠之分
正斜杠 符号为“/”;
反斜杠的符号为“\”,  引用斜杠(/)在JAVA中没有什么特别的意义,就是代表一个字符‘/’; 
反斜杠(\)则不然,它和紧跟着它的那个字符构成转义字符,如“\n”(表示换行)、“\””(表示字符‘”’)等,所以在字符串中要表示字符'\'要用“\\”来表示,
"\" in String -> \\
如果你这样定义一个字符串String s = “name\sex”是错误的,要这样定义String s = “name\\sex”; 
"\" in Rex  -> \\\\
在正则表达式中的“\\”表示和后面紧跟着的那个字符构成一个转义字符 (EX: in rex, \\" means caracter "; \\[ means character [ );所以如果你要在正则表达式中表示一个反斜杠\,应当写成“\\\\”。

replaceAll(String regex, String replacement): String
replace(char oldChar, char newChar): String

CODE:
String str = "C:\desktop\hello.txt";
String newstr = str.replaceAll("\\\\","/");

//str itself will not be replaced. it returns a new String which is replaced. 
//str =  "C:\desktop\hello.txt"; 
//newstr =  "C:/desktop/hello.txt";


No comments:

Post a Comment