如何截取带\的字符串

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");

如上面字符串,是从数据某个表读出来的文件存放路径,我想截取其中一段字符串,但编译的时候就报非法转移符,

我应该怎么弄才能截取成功呢?

吃鸡游戏
浏览 643回答 4
4回答

慕桂英4014372

String s =@ "d:\sup\apache-tomcat-6.0.18\webapps\bmis\supres\xls-tmp\jgywzb\2012-11/JgbZbTemplate.xls"; 前面加一个@ 否则的话,\s  \a \w都会被当作转义字符

MMTTMM

可能是你用的是C#,我的是java,所以那个@没作用

子衿沉夜

试试这样,将‘\’前邊再加一個‘\’ 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

你是从数据库取出来的值,所以不需要担心你所说的编译错误。比如说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";这个字符串压根就不需要在代码中显示,所以就不会报错!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java