使用正则表达式:
'http://somedomain.com/hello1/hello2/hello3/myfile.txt'.replace(/\/\w+\.\w+$/, '');
的正则表达式匹配由.
分离,preceeded由两串/
(/myfile.txt
在你的情况),然后被替换为空字符串。此方法在节点以及纯JavaScript中工作。
如何使用Node.js' path
模块:
let path = require('path');
let parsed = path.parse('http://somedomain.com/hello1/hello2/hello3/myfile.txt');
console.log(parsed.dir) // => http://somedomain.com/hello1/hello2/hello3
的node.js为解析路径的内置模块。然而,它不是用于解析URI的,但应该在你的情况下工作得很好。
分裂,切片并加入
let url = 'http://somedomain.com/hello1/hello2/hello3/myfile.txt';
url.split('/').slice(0, -1).join('/');
拆分链接在每个/
,从所得的阵列(myfile.txt
)删除最后一个元件和/
作为隔板一起加入他们回来。
将文件名总是在URL中的最后一个项目?或者它可能在中间?如果它总是结束,则将字符串拆分为'/'并将最后一个对象放入数组中,然后重新加入字符串 –
是的,总是在数组中最后一个。这是一个好方法。但想知道任何其他简单的方法。 – Sathish