regex 我想在没有空格的字符串之间添加空格

798qvoo8  于 2022-12-19  发布在  其他
关注(0)|答案(1)|浏览(185)

我正在使用Cypress,我正在处理一个Web表。我已经从中提取了值,并将其转换为一个数组,但出现的问题是间距不一致。现在我希望值具有一致的间距,例如:实际产量:

["1234random9-Dec-2022", "15:16:51", "User66","privateNot", "Scheduled","" ]

预期输出:

[ "1234" // id// ,"random"//file_name//,
"9-Dec-2022"//date//,"15:16:51"//time//,"User66"//username//, "private"//visiblity//, "NotScheduled" // Type of job]

代码:

describe('Webtable test', () => {
    it('Whole table data', function()  {
        cy
        .get('#query-table tbody tr')
        .should('have.length',10);

        cy.get('#query-table tbody tr:eq(1) td').should('have.length',7);
        cy.get('#query-table tbody tr').each(($el, index, $list) =>{
            cy.wrap($el).find('td').each(($el2, index2, $list2)=>{
               const list=$list2.text().replace(/[\s,]+/g, ' ')
               cy.log("List",list.split(" "))
               const text=list.split(" ")       
               cy.log(text)
            })
        })
    });
})

;
请帮帮我

bis0qfac

bis0qfac1#

从上面的评论来看...
@AvdhutJoshi... “我已经从中提取了值并将其转换为数组”...应该看看OP是如何准确提取数据的。也许已经存在故障源了?”
OP已经迭代了td集合。为什么OP不通过从当前的td元素中提取每个值来编程地构建单元格/列值的数组...这里是$el2...而是试图通过似乎是拆分和替换整行文本内容的方法来实现它,这是失败的原因。
下面提供的示例代码接受OP的尝试并根据第二个引用注解的建议进行更改。它依赖于cellItem.text()的有效性,因为我只能从OP的代码中猜测是否提取这样的文本内容。

describe('Webtable test', () => {
  it('Whole table data', () => {
    cy
      .get('#query-table tbody tr')
      .should('have.length', 10);
    cy
      .get('#query-table tbody tr:eq(1) td')
      .should('have.length', 7);
    cy
      .get('#query-table tbody tr')
      .each(rowItem => {
        const cellContentList = [];
        cy
          .wrap(rowItem)
          .find('td')
          .each(cellItem =>
            cellContentList.push(
              cellItem.text().trim()
            )
          );
        console.log({ cellContentList });
      });
  });
});

相关问题