如何在数组中的JavaScript字符串中添加标签

时间:2019-02-18 12:17:45

标签: javascript arrays aws-cloud9

我一直在尝试建立一个单元测试,该单元测试实质上是测试我是否正确解析了从其他文件中读取的内容。我不想在此单元测试中读取文件,所以我创建了一个包含信息的数组。但是无论我如何尝试,空格都会转换为'\ 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上进行开发。

2 个答案:

答案 0 :(得分:2)

您不能用实际的制表符替换它吗?

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",
    ].map((d)=>d.replace("\\t","\t"))

答案 1 :(得分:1)

您可以使用正则表达式来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+/)));