问题的出现
对上传的图片资源进行重命名时,想使用“.”
分割路径得到该文件的后缀和文件名称。但是重复多次无法生效,分割出来的数组始终为空值。
问题定位
出错的代码为:
Stirng[] nameArr = pathArr[pathArr.length - 1].split(".");
后查询得知:在Java语言中,“.”
标识一个元符号,即该符号具有特殊含义,如果需要按该符号进行分割字符串则需要对该符号进行转义。
遂决定使用
Stirng[] nameArr = pathArr[pathArr.length - 1].split("\.");
该代码进行分割,但是该代码在eclipse中直接报错,报错信息为:
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
后来想到,在Java语言中“\”
该符号表示转义,则需要使用“\.”
该符号的话,需要将书写格式改为:“\\.”
。修改后一切正常。
问题反思
开发过程中长时间写业务逻辑,导致对基础的正则缺少复习,导致出现今天的尴尬局面(这种问题还需借助搜索引擎,感觉好羞耻(|~_~|))。感觉今后需要加强对Java基础知识的复习,努力学好基础。