我一直在尝试建立一个单元测试,该单元测试实质上是测试我是否正确解析了从其他文件中读取的内容。我不想在此单元测试中读取文件,所以我创建了一个包含信息的数组。但是无论我如何尝试,空格都会转换为“ \ t”。

let mgfSection =
[
    "BEGIN IONS",
    "PEPMASS=491.222686767578",
    "CHARGE=2",
    "TITLE=491.222686767578_1494.17_scan=6268_2014090922Mix2alkylISW10noEclu,seq={ATNYNAGDR},sup={4}",
    "SCANS=0",
    "491.2227\u00092",
    "128.1677\t34.3",
    "143.9659   14.8",
];


上面的数组在打印到控制台时会在所有我希望使用制表符(5-7)的位置直接产生'\ t'。但是,它实际上是'\ t'而不是制表符,因此我无法对其进行分割(mgfSection [6] .split(“ \ t”)不起作用)。另一方面,当从文件中读取它时,它将起作用,因此,我不能仅使用(“ \ t”)来进行测试。

如何使空白显示为下游功能的真实空白?

谢谢,
詹斯

顺便说一句,我正在开发AWS Cloud9。

最佳答案

您可以使用正则表达式来split



let mgfSection =
[
    "BEGIN IONS",
    "PEPMASS=491.222686767578",
    "CHARGE=2",
    "TITLE=491.222686767578_1494.17_scan=6268_2014090922Mix2alkylISW10noEclu,seq={ATNYNAGDR},sup={4}",
    "SCANS=0",
    "491.2227\u00092",
    "128.1677\t34.3",
    "143.9659   14.8",
];

console.log(mgfSection.map(str => str.split(/\s+/)));

10-05 22:00