www.fltk.net > jAvA中分割逗号的时候两个斜杠 split("\\,");为什...

jAvA中分割逗号的时候两个斜杠 split("\\,");为什...

单个\ 会被转义比如你用的\t \r 什么的 java看见\ 就会转义

你去查看一下这两个方法的API,其中indexof的参数是字条串,而split的参数是正则表达式,在正则表达式中\\表示一个反斜线,所以split需要4个反斜线来表示\\。

这个可以通过replaceAll方法来进行实现。 方法举例: newPath = path.replaceAll("\\/", "//"); 解释:在java中”/“是报错的,必须通过转义斜杠”\\“之后加上一个”/“斜杠,来进行斜杠转义,此时即可正常完成替换操作。

String filename="d:\\upload\\133.jpg"; String name[] = filename.split("\\\\");/ 应该这样才对,本身\只是一个转义符,当要用做字符是需要\\,所以如果只有一个\就出错了哦

由于反斜杠是特殊字符,所以是不能直接放到字符串中的,会被js转义,比如你的 var str = "adc\123\890\ds"; \123会被js自动转义为大写字母S,后面两个\无法转义则会被自动删除,所以str的实际值并不是你想象中的 "adc\123\890\ds",而是"adcS890...

有很多命令都可以实现你要求的功能,比如 awk: echo "1:3:5" | awk -F ":" '{print $NF}' sed: echo "1:3:5" | sed 's/.*:\([^:]*\)$/\1/'

private static String getSubStr(String str, int num) { String result = ""; int i = 0; while(i < num) { int lastFirst = str.lastIndexOf('/'); result = str.substring(lastFirst) + result; str = str.substring(0, lastFirst); i++; } ...

int i, len ; len = fileName.length() ; for ( i = len - 1 ; i >= 0 && fileName[i] != '\\' ; i-- ) ; String name( fileName, i + 1, len - i - 1 ) ;

网站地图

All rights reserved Powered by www.fltk.net

copyright ©right 2010-2021。
www.fltk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com