gpt4 book ai didi

javascript - js - trim 功能仅适用于前导新行和制表符

转载 作者:行者123 更新时间:2023-11-29 20:40:56 24 4
gpt4 key购买 nike

我正在从表中抓取一些数据并添加到数组中,trim 函数仅适用于前导 \n\t 并且仍然保持领先新行和标签。

我查看了 Stackoverflow 并使用了一些替换函数但没有结果。

const test = 'https://www.sec.gov/Archives/edgar/data/24741/000002474118000053/glw-20180930x10q.htm'

const request = require('request');

const cheerio = require('cheerio');

request(test, (error, res, html) => {
if (!error && res.statusCode == 200) {
// console.log(html)

const $ = cheerio.load(html)

const table = $("tr:contains('Cash and cash equivalents')")

const items = []

items.push(table.text().trim())

console.log(items)

}
})

我需要 [现金和现金等价物,1903,...] 而我得到的是:

[ '现金和现金等价物\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t$\n\t\t\t\t\n\t\t\t\t1,903\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t$\n\t\t\t\t\n\t\t\t\t4,317\n\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t现金和现金等价物期初\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t4,317\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t5,291\n\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t期末现金及现金等价物\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t$\n\t\t\t\t\n\t\t\t\t1,903\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t$\n\t\t\t\t\n\t\t\t\t3,865']

最佳答案

您的请求得到单行响应

trim()适用于字符串并仅从其头部和尾部删除空字符

要实现你想要的,你可以使用split()此字符串由 regex /[\n|\t]/ 表示 任何制表符或任何换行符,然后从空行中过滤此数组和 trim 元素

let s = 'Cash and cash equivalents\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t$\n\t\t\t\t\n\t\t\t\t1,903 \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t$\n\t\t\t\t\n\t\t\t\t4,317 \n\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tCash and cash equivalents at beginning of period\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t4,317 \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t5,291 \n\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tCash and cash equivalents at end of period\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t$\n\t\t\t\t\n\t\t\t\t1,903 \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t$\n\t\t\t\t\n\t\t\t\t3,865';

s = s.split(/[\n|\t]/)
.filter(el => el.trim().length)
.map(el => el.trim());

console.log(s)

PS:对不起我的英语

关于javascript - js - trim 功能仅适用于前导新行和制表符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55544293/

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