如何在数组中的 javascript 字符串中添加制表符
How to add a tab in a javascript string within an array
我一直在尝试设置一个单元测试,它主要测试我从其他地方的文件中读取的内容是否被正确解析。我不想在这个单元测试中读取文件,所以我创建了一个包含信息的数组。但是无论我尝试什么,空格都会转换为 '\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+/)));
你不能用实际的制表符替换它吗?
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"))
我一直在尝试设置一个单元测试,它主要测试我从其他地方的文件中读取的内容是否被正确解析。我不想在这个单元测试中读取文件,所以我创建了一个包含信息的数组。但是无论我尝试什么,空格都会转换为 '\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+/)));
你不能用实际的制表符替换它吗?
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"))