我一直在尝试建立一个单元测试,它实质上是测试我从其他地方读取的文件是否被正确解析。我不想读取这个单元测试中的文件,所以我创建了一个包含该信息的数组。但无论我怎么尝试,空格都会转换为'\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‘,而不是制表符,所以我不能拆分它(mgfSection6.split("\t")不起作用)。另一方面,当从文件中读取时,它可以工作,所以我不能仅仅使用("\t")来使我的测试工作。
我该怎么做才能让空格显示为下游函数的真正空格呢?
谢谢你,Jens
顺便说一句,我正在亚马逊网络服务Cloud9上开发。
发布于 2019-02-18 20:24:29
您可以使用正则表达式来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+/)));
发布于 2019-02-18 20:25:14
您不能用实际的制表符字符替换它吗?
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"))https://stackoverflow.com/questions/54747133
复制相似问题