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
提交
取消