js读取文件获取指定字符串
时间: 2023-11-26 16:02:47 浏览: 38
你可以使用JavaScript的FileReader对象来读取文件,然后使用正则表达式匹配指定字符串。
以下是一个读取文本文件并获取指定字符串的示例代码:
```javascript
function readFile(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onload = () => {
resolve(reader.result);
};
reader.onerror = reject;
reader.readAsText(file);
});
}
async function getSubstringFromFile(file, substring) {
const fileContent = await readFile(file);
const regex = new RegExp(substring, 'g');
const matches = fileContent.match(regex);
return matches;
}
// example usage:
const fileInput = document.querySelector('input[type="file"]');
const searchString = 'hello';
fileInput.addEventListener('change', async () => {
const matches = await getSubstringFromFile(fileInput.files[0], searchString);
console.log(matches);
});
```
这个例子中,`readFile`函数使用Promise包装FileReader的异步读取方法,以便可以使用async/await语法进行调用。`getSubstringFromFile`函数使用正则表达式匹配文本文件中的指定字符串,并返回匹配结果。
在使用时,你需要将一个`<input type="file">`元素添加到页面中,并将其绑定到`change`事件上。当用户选择文件后,代码将自动读取文件并匹配指定的字符串。