1、今天遇到一个情况,后台返回数据渲染在列表中,点击URL,可以进行pdf预览,预览时我需要拿到文件名称在页面上面进行展示,于是,我将url复制出来,想在控制台写好获取文件名称的方法后,再写会源代码中,结果就遇到了,解析文件名称怎么也解析不对的情况,我尝试了如下的几种情况,都不正确
var path = ‘Upload\AtsCheck\230413\96_98011552001_V134C0002X_20230413214824.pdf’
path.split('\')
path.split('\\')
path.replace(/\/g, '/')
path.replace(/\\/g, '/')
后来咨询了朋友,原因是,字符串中只有一个反斜杠的话,表示的是转义符,而有两个反斜杠的话表示的才是 \ , 我去查看了后台返回的数据,返回的是'
Upload\\AtsCheck\\230413\\96_98011552001_V134C0002X_20230413214824.pdf’,在渲染到页面上或者通过console.log打印出来后已经是转义后的内容了,所以我们在页面中只会看到有一个反斜杠的情况
2、示例和结果
1、'a\b\c'.split('\')
结果是:
caught SyntaxError: Invalid or unexpected token
2、'a\b\c'.replace(/\/g, '/')
结果是:
caught SyntaxError: missing ) after argument list
3、'a\b\c'.split('\\')
结果是
['a\bc']
4、'a\b\c'.replace(/\/g, '/')
结果是
'a\bc'
5、'a\\b\\c'.replace(/\/g, '/')
结果是
caught SyntaxError: missing ) after argument list
6、'a\\b\\c'.replace(/\\/g, '/')
结果是
'a/b/c'
原因就是:只有一个字符串的情况下反斜杠表示 转义
标签:结果,中反,SyntaxError,replace,split,斜杠,字符串,path From: https://www.cnblogs.com/flamingoDream/p/17327382.html