Here我发布了一个问题,但我仍然坚持
是我的txt:
Toto1线
Toto2线
Toto3线
Toto2线(秒)
Toto3线(第二个)
...
当我搜索“ Toto2”时,有必要恢复包含“ Toto2”的每一行,并且也有必要计算包含“ Toto2”的行数,这可能吗?var regex = new RegExp('Toto2.*\n', 'g');
有了这个,我们将不得不返回:
Toto2线
Toto2线(秒)
和其他变量:
2
谢谢
最佳答案
您可以将Array.prototype.filter
与简单的正则表达式一起使用:
const text =
`Toto1 The line
Toto2 The line
Toto3 The line
Toto2 The line (second)
Toto3 The line (second)`;
const filteredLines = text.split('\n').filter(line => /Toto2/gi.test(line));
const count = filteredLines.length;
console.log(filteredLines);
console.log(count);
获取具有相应行号的行(在
Array.prototype.reduce
的帮助下)const text =
`Toto1 The line
Toto2 The line
Toto3 The line
Toto2 The line (second)
Toto3 The line (second)`;
const linesWithIndexes = text.split('\n').reduce((all, line, i) => {
return all.concat(/Toto2/gi.test(line) ? {line, lineNumber: i + 1} : []);
}, []);
console.log(linesWithIndexes);
关于javascript - 通过搜索单词来读取txt文件,还可以检索找到的单词的行,还可以对找到的单词的行进行计数-可能吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52408637/