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

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

因为\是转义字符,所以要用\开头,写成\\

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

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

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

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

string.Split('\\') 因为\是转义字符,所以不能用你那种方法

split() 方法用于把一个字符串分割成字符串数组。 语法: stringObject.split(separator,howmany) 返回值: 一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括separator ...

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

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