Javascript 在以制表符分隔的文本文件的特定行中搜索制表符字符

Javascript 在以制表符分隔的文本文件的特定行中搜索制表符字符,javascript,Javascript,我正在使用FileReader API加载一个以制表符分隔的文本文件。加载后,我需要在第一行找到制表符位置,解析制表符前面的字符,对解析的字符进行一些处理,然后继续第二行,解析第二行第一个制表符之前的字符,对解析的字符进行一些处理,然后继续第三行,依此类推,直到文件结束 我不是编码员。我可以在脚本上使用一些帮助来执行这些操作 更新/编辑(根据要求):具体来说,一步一步地进行: 我能够加载以制表符分隔的文件 我能够逐行浏览文件(第15行+) 我正在逐步完成文件中的行(第15行+) 但是我在读每一

我正在使用FileReader API加载一个以制表符分隔的文本文件。加载后,我需要在第一行找到制表符位置,解析制表符前面的字符,对解析的字符进行一些处理,然后继续第二行,解析第二行第一个制表符之前的字符,对解析的字符进行一些处理,然后继续第三行,依此类推,直到文件结束

我不是编码员。我可以在脚本上使用一些帮助来执行这些操作

更新/编辑(根据要求)具体来说,一步一步地进行:

  • 我能够加载以制表符分隔的文件
  • 我能够逐行浏览文件(第15行+)
  • 我正在逐步完成文件中的行(第15行+)
  • 但是我在读每一行的时候执行一组任务的能力是失败的
在读取每一行时,我想解析出该行中第一个制表符之前的字符。在下面的示例文件内容中,我想解析出5,然后我想对5采取行动。之后,我想解析出10,然后对10采取行动。然后我想解析出200,并对200采取行动。然后脚本将结束

我假设在读取每一行时,我想调用另一个函数,并将第一行的内容发送到新函数。然后,新函数将解析出第一个选项卡之前的字符。这是正确的吗?如果没有,我该怎么办?在此之后,我假设应该调用另一个函数,该函数将对解析的字符执行操作。这是正确的吗(如果不是,我应该怎么做)

如果我正确地认为应该在读取每一行的情况下调用另一个函数,那么我该怎么做(包括发送该行的内容)?在所示的代码中,我没有成功地找到如何做到这一点

谢谢,, 安德鲁

制表符分隔文件的示例:

5   15:00:05    2   1
10  15:00:10    2   2
200 15:03:20    2   3
var fileInput=document.getElementById('fileInput');
fileInput.addEventListener('change',函数(e){
var file=fileInput.files[0];
var textType=/text.*/;
if(file.type.match(textType)){
var reader=new FileReader();
reader.onload=函数(e){
//整个文件
fileDisplayArea.innerText=reader.result;
//文件中的行数
var lines2=reader.result.split(“\n”).length;
fileDisplayArea2.innerText=“文本文件中的行数为:”+number(lines2-1);
//每行尝试一个操作
var lines=reader.result.split('\n');
对于(var line=0;line
选择一个文本文件:




下面是一个您想要做的示例。循环每一行时,您可以从
数组中获得该行的文本,其中包含
行[line]
。然后可以将该文本(在我的示例中是行号)传递给函数

在我的示例中,函数是
doStuff
,然后它通过
tab
字符分割行文本,得到一个“单元格”数组(行上由制表符分隔的值)。我让函数输出值,以便您可以看到它们。你可以让它做你需要的任何事情

var fileInput=document.getElementById('fileInput');
fileInput.addEventListener('change',函数(e){
var file=fileInput.files[0];
var textType=/text.*/;
if(file.type.match(textType)){
var reader=new FileReader();
reader.onload=函数(e){
//整个文件
fileDisplayArea.innerText=reader.result;
//文件中的行数
var lines2=reader.result.split(“\n”).length;
fileDisplayArea2.innerText=“文本文件中的行数为:”+number(lines2);
//每行尝试一个操作
var lines=reader.result.split('\n');
对于(var line=0;line
选择一个文本文件:





您是否正在寻找一种可以实现此功能的工具?欢迎使用Stack Overflow!所有已发布的内容都是程序说明。然而,我们需要你去。我们不能确定你想从我们这里得到什么。请在您的帖子中加入我们可以回答的有效问题。提醒:确保您知道,要求我们为您编写程序和建议是离题的。谢谢gvmani和Mike。我已根据要求对帖子进行了实质性更新