javascript - 如何在 Node.js 中提取字符串数组的一部分?

标签 javascript node.js

我正在尝试为数组中的每个元素提取字符串的一部分。

我已经设法获取所有以 .pdf 结尾的文件,但我不知道如何进行提取部分。

我假设我需要使用正则表达式来完成这项工作,但是,我不确定从哪里开始。

给定第一个元素./pdf/main/test1.pdf,我想返回/test1.pdf

按照下面的代码操作:

    glob('./pdf/main/*.pdf', {}, (err, files) => {
      console.log(files) // ['./pdf/main/test1.pdf','./pdf/main/test2.pdf' ]
      files.map(f => { 
        // Here I want to extract and return the following output:
        // /test1.pdf
        // /test2.pdf
      })
    })

最佳答案

简单地使用 split 并检索最后一个值就可以了

glob('./pdf/main/*.pdf', {}, (err, files) => {
  console.log(files) // ['./pdf/main/test1.pdf','./pdf/main/test2.pdf' ]
  files.map(f => { 
    let split = f.split('/'); // ['.', 'pdf', 'main', 'test1.pdf']
    return `/${split[split.length - 1]}`; // /test1.pdf
  })
})

此外,由于您已经标记了 node.js,并且假设这与文件路径相关,因此您可以使用 pathbasename 函数> 执行此操作的模块,请参见此处

nodejs get file name from absolute path?

glob('./pdf/main/*.pdf', {}, (err, files) => {
  console.log(files) // ['./pdf/main/test1.pdf','./pdf/main/test2.pdf' ]
  files.map(f => `/${path.basename(f)}`); // ['/test1.pdf',  '/test2.pdf']
})

关于javascript - 如何在 Node.js 中提取字符串数组的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58279126/

相关文章:

javascript - 规则和夏令时

javascript - 如何在后台下载 PDF 文件

javascript - 如何减少 Magento 中的 JavaScript 文件?

javascript - 更改 Google Maps JavaScript API v3 圈外的 map 不透明度

javascript - 测试用户是否可以在 html 页面上看到元素

javascript - 矩阵所有行的值变化

javascript - 为什么要将对象中的所有值转换为 Javascript 中的字符串?

javascript - 如何从数组中获取上一个和下一个 id

node.js - 在哪里建立 Mongoose 连接/任何数据库连接

node.js - pm2、 Node 、实例和端口