gpt4 book ai didi

node.js - 使用nodejs删除url中的filename.extension

转载 作者:太空宇宙 更新时间:2023-11-04 03:29:13 25 4
gpt4 key购买 nike

我是nodejs的初学者,所以如果这个问题已经得到解答,请原谅。我尝试了多种方法,但都不适合我。

我正在尝试删除 http url 中的 filename.extension

例如:

http://somedomain.com/path1/path2/path3/myfile.txt

http://somedomain.com/path1/path2/path3/

网址中的文件名是动态的,因此我无法在代码中显式使用“myfile.txt”。

我没有使用任何网络框架,但我有http://stringjs.com图书馆

最佳答案

使用正则表达式:

'http://somedomain.com/hello1/hello2/hello3/myfile.txt'.replace(/\/\w+\.\w+$/, '');

正则表达式匹配由 . 分隔并以 / 开头的两个字符串(在您的情况下为 /myfile.txt),然后将其替换为空字符串。此方法适用于 Node 以及纯 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) 中删除最后一个元素,然后使用 / 作为分隔符将它们重新连接在一起。

关于node.js - 使用nodejs删除url中的filename.extension,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40423866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com