Javascript 解析内部文本<;预处理>;标签

Javascript 解析内部文本<;预处理>;标签,javascript,html,html-parsing,Javascript,Html,Html Parsing,我正在尝试制作一个简单的web应用程序,它允许我上传一个文本文件并在标签中显示其内容。此外,当我按下“Parse”按钮时,我需要文本内容只保留以“ACK”开头的所有行,同时保持其结构 这是我的密码: //Javascript App.js document.getElementById(“openFile”).addEventListener(“更改”,函数(){ var file=this.files[0]; var fr=new FileReader(); fr.onload=函数(){

我正在尝试制作一个简单的web应用程序,它允许我上传一个文本文件并在标签中显示其内容。此外,当我按下“Parse”按钮时,我需要文本内容只保留以“ACK”开头的所有行,同时保持其结构

这是我的密码:

//Javascript App.js
document.getElementById(“openFile”).addEventListener(“更改”,函数(){
var file=this.files[0];
var fr=new FileReader();
fr.onload=函数(){
document.getElementById(“fileContents”).textContent=this.result;
}
fr.readAsText(文件);
},错)
//误差区
document.getElementById(“解析”).addEventListener(“单击”,函数(){
document.getElementById(“fileContents”).textContent.startsWith(“ACK”)=this.result;
},false)

分析器
作语法分析




我唯一的更改是对
parse
按钮的事件侦听器进行更改。我分析了
fileContents
的文本,因此当单击
parse
时,只剩下以
ACK
开头的行

//Javascript App.js
document.getElementById(“openFile”).addEventListener(“更改”,函数(){
var file=this.files[0];
var fr=new FileReader();
fr.onload=函数(){
document.getElementById(“fileContents”).textContent=this.result;
}
fr.readAsText(文件);
},错)
document.getElementById(“解析”).addEventListener(“单击”,函数(){
让line=document.getElementById(“fileContents”).textContent.split('\n');
lines=lines.filter((line)=>line.indexOf('ACK')==0);
让newPre='';
map((line)=>{newPre+=line+'\n';});
document.getElementById(“fileContents”).textContent=newPre;
},false)

分析器
作语法分析




我唯一的更改是对
parse
按钮的事件侦听器进行更改。我分析了
fileContents
的文本,因此当单击
parse
时,只剩下以
ACK
开头的行

//Javascript App.js
document.getElementById(“openFile”).addEventListener(“更改”,函数(){
var file=this.files[0];
var fr=new FileReader();
fr.onload=函数(){
document.getElementById(“fileContents”).textContent=this.result;
}
fr.readAsText(文件);
},错)
document.getElementById(“解析”).addEventListener(“单击”,函数(){
让line=document.getElementById(“fileContents”).textContent.split('\n');
lines=lines.filter((line)=>line.indexOf('ACK')==0);
让newPre='';
map((line)=>{newPre+=line+'\n';});
document.getElementById(“fileContents”).textContent=newPre;
},false)

分析器
作语法分析





您能给出一个输入文本文件内容和预期输出的示例吗?Sure@CertainPerformance。假设您有一个包含以下行的文本文件:ACK somthing某物ACK somthing某物ACK somthing某物ACK somthing某物。。。我只需要那些以“ACK”开头的,你能把它编辑成你的问题吗?(不在评论框中,无法阅读)当然抱歉…我从来没有使用stackoverflow,所以我会尝试这样做。您可以将输入和预期输出编辑到您的问题中,这样我们就有一个可运行的示例进行调试了吗?(作为文本)您能给出输入文本文件内容和预期输出的示例吗?Sure@CertainPerformance。假设您有一个包含以下行的文本文件:ACK somthing某物ACK somthing某物ACK somthing某物ACK somthing某物。。。我只需要那些以“ACK”开头的,你能把它编辑成你的问题吗?(不在评论框中,无法阅读)当然抱歉…我从来没有使用stackoverflow,所以我会尝试这样做。您可以将输入和预期输出编辑到您的问题中,这样我们就有一个可运行的示例进行调试了吗?(作为文本)如果我想得到带有ACK和另一个组合字母的行,比如NMG或JKO,我怎么能做到呢?看看我使用过滤器的行。Filter是一个高阶函数,它返回新数组,其中包含满足条件的所有项。现在的条件是第一个子字符串是否为ACK。只需将其更改为您想要的,我并没有说更改字符串“ACK”,而是添加另一个类似这样的字符串:lines=lines.filter((line)=>line.indexOf('ACK')==0 | | line.indexOf('KMH')==0);这是行不通的,你的例子只有在行以ACK或KMH开头时才有效(因为你将索引与0进行比较),如果我想得到带有ACK和另一个组合字母的行,比如NMG或JKO,我怎么能做到呢?看看我使用过滤器的行。Filter是一个高阶函数,它返回新数组,其中包含满足条件的所有项。现在的条件是第一个子字符串是否为ACK。只需将其更改为您想要的,我并没有说更改字符串“ACK”,而是添加另一个类似这样的字符串:lines=lines.filter((line)=>line.indexOf('ACK')==0 | | line.indexOf('KMH')==0);而且它不起作用。只有当行以ACK或KMH开头时,您的示例才会起作用(因为您将索引与0进行比较)