javascript 如何使用javascript解析文本文件

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/17648871/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-27 09:05:04  来源:igfitidea点击:

How can I parse a text file using javascript

javascriptparsing

提问by qwerty123

The code below is to read a text file using javascript. it works. However, I just want to read part of the content. For example, the content of the file is :"Hello world!" I just want to display "Hello". I tried function split(), but it only works on strings. I don't know how to insert it here.

下面的代码是使用javascript读取文本文件。有用。但是,我只想阅读部分内容。比如文件的内容是:“Hello world!” 我只想显示“你好”。我试过函数split(),但它只适用于字符串。我不知道如何插入这里。

 var urls = ["data.txt"];

function loadUrl() {
    var urlToLoad = urls[0];
    alert("load URL ... " + urlToLoad);
    browser.setAttributeNS(xlinkNS, "href", urlToLoad);
}

thank you!!!

谢谢!!!

回答by Nathan Srivi

I used

我用了

jQuery.get('http://localhost/foo.txt', function(data) {
var myvar = data;
});

, and got data from my text file.

,并从我的文本文件中获取数据。

Or try this

或者试试这个

JQuery provides a method $.get which can capture the data from a URL. So to "read" the html/text document, it needs to be accessible through a URL. Once you fetch the HTML contents you should just be able to wrap that markup as a jQuery wrapped set and search it as normal.

JQuery 提供了一个 $.get 方法,它可以从 URL 中捕获数据。因此,要“读取”html/text 文档,需要通过 URL 访问它。获取 HTML 内容后,您应该能够将该标记包装为 jQuery 包装集并像往常一样搜索它。

Untested, but the general gist of it...

未经测试,但它的一般要点......

var HTML_FILE_URL = '/whatever/html/file.html';

$(document).ready(function() {
    $.get(HTML_FILE_URL, function(data) {
        var fileDom = $(data);
        fileDom.find('h2').each(function() {
            alert($(this).text());
        });
    });
});

回答by randomizer

Try this to read separate words if I understood correctly what you need. Create a file with the contents "hello world" and browse to it with the example script. The output is "hello".

如果我正确理解了您的需要,请尝试阅读单独的单词。创建一个内容为“hello world”的文件,并使用示例脚本浏览到它。输出是“你好”。

<html>
<head>
<input type="file" id="fileinput" />
<script type="text/javascript">
  function readSingleFile(evt) {
    var f = evt.target.files[0];   
    if (f) {
      var r = new FileReader();
      r.onload = function(e) { 
          var contents = e.target.result;             
          var ct = r.result;
          var words = ct.split(' ');            
          alert(words[0]);
      }
      r.readAsText(f);
    } else { 
      alert("Failed to load file");
    }
  }

  document.getElementById('fileinput').addEventListener('change', readSingleFile, false);
</script>
</head>
<body>
</body>
</html>

Reading directly has to be with an ajax request due to the javascript restrictions regarding safety. This code shoudl perform the requested operation:

由于有关安全的 javascript 限制,直接读取必须使用 ajax 请求。此代码应该执行请求的操作:

<html>
<head>
<input type="file" id="fileinput" />
<script type="text/javascript">
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
  if(xmlhttp.status==200 && xmlhttp.readyState==4){    
    var words = xmlhttp.responseText.split(' ');
    alert(words[0]);
  }
}
xmlhttp.open("GET","FileName.txt",true);
xmlhttp.send();
</script>
</head>
<body>
</body>
</html>

回答by edi9999

Opening a file in javascript with ajax (without using any framework)

使用ajax在javascript中打开文件(不使用任何框架)

var urls = ["data.txt"];
xhrDoc= new XMLHttpRequest();   
xhrDoc.open('GET', urls[0] , async)
if (xhrDoc.overrideMimeType)
    xhrDoc.overrideMimeType('text/plain; charset=x-user-defined')
xhrDoc.onreadystatechange =function()
{
if (this.readyState == 4)
{
    if (this.status == 200)
   {
    var data= this.response; //Here is a string of the text data 
   }

}                   
}
xhrDoc.send() //sending the request