gpt4 book ai didi

javascript - 无法比较 JavaScript 中文本文件的值

转载 作者:行者123 更新时间:2023-12-02 19:15:37 25 4
gpt4 key购买 nike

我在使用 === 比较字符串时遇到问题我从文本文件中获取完整数据,并使用 ('\n') 逐行分割值就像java中的readLine()想要查找字符串“SECTION”但找不到。

当我放

if(contents[i] === "SECTION") {
alert("This is section");
}

没有警报!我确定文本文件中有单词“SECTION”

但是

if (contents[i].match("SECTION)) 

是工作。

有什么建议吗?谢谢

<小时/>JavaScript

function readFile (evt) {
var files = evt.target.files;
if (files) {
for (var i=0, f; f=files[i]; i++) {
var file = files[i];
var reader = new FileReader();
reader.onload = function() {
var contents = [];
contents = this.result.split("\n");
for (var i = 0; i < contents.length; i++) {
if(contents[i] === "SECTION") {
alert("This is section");
}
document.getElementById('textArea').innerHTML +=contents[i];
}
}
reader.readAsText(file);
}
}
}

最佳答案

您的代码有点奇怪,但是:

var contents = [];
contents = this.result.split("\n");

两行都不需要,第二个赋值会覆盖第一行,因此:

var contents = this.result.split("\n");

.

for (var i = 0; i < contents.length; i++) {
if(contents[i] === "SECTION") {

这里不需要===,尽管我想这不会有什么坏处。比较文本周围可能有空格,因此您可以考虑删除空格或使用正则表达式,例如:

var re = /^\s*SECTION\s*$/;

匹配单词“SECTION”,前后可以有任意数量的空格。如果您只想包含字符序列 SECTION 的行,则:

var re = /\s*SECTION\s*/;

并忽略大小写:

var re = /\s*SECTION\s*/i;
无论如何。然后使用 test方法如下:

for  ( ... ) {
if (re.test(contents[i])) {
/* found a section */

关于javascript - 无法比较 JavaScript 中文本文件的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13171502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com