String s = "d:\sup\apache-tomcat-6.0.18\webapps\bmis\supres\xls-tmp\jgywzb\2012-11/JgbZbTemplate.xls";
String[] ss = s.split("xls-tmp");
如上面字符串,是從數據某個表讀出來的文件存放路徑,我想截取其中一段字符串,但編譯的時候就報非法轉移符,
我應該怎么弄才能截取成功呢?
4 回答

慕桂英4014372
TA貢獻1871條經驗 獲得超13個贊
String s =@ "d:\sup\apache-tomcat-6.0.18\webapps\bmis\supres\xls-tmp\jgywzb\2012-11/JgbZbTemplate.xls"; 前面加一個@
否則的話,\s ?\a \w都會被當作轉義字符

子衿沉夜
TA貢獻1828條經驗 獲得超3個贊
試試這樣,將‘\’前邊再加一個‘\’
public static void main(String[] args) { String s = "d:\\sup\\apache-tomcat-6.0.18\\webapps\\bmis\\supres\\xls-tmp\\jgywzb\\2012-11/JgbZbTemplate.xls"; String[] ss = s.split("xls-tmp"); for(String out:ss){ System.out.println(out); } }
運行結果:
d:\sup\apache-tomcat-6.0.18\webapps\bmis\supres\
\jgywzb\2012-11/JgbZbTemplate.xls
是你想要的吧

慕的地8271018
TA貢獻1796條經驗 獲得超4個贊
你是從數據庫取出來的值,所以不需要擔心你所說的編譯錯誤。比如說String s = rs.getString("path");?rs.getString("path")表示你從數據庫取出來的值,這個時候"d:\sup\apache-tomcat-6.0.18\webapps\bmis\supres\xls-tmp\jgywzb\2012-11/JgbZbTemplate.xls";這個字符串壓根就不需要在代碼中顯示,所以就不會報錯!
添加回答
舉報
0/150
提交
取消