如何在javascript中从文本文件中提取行
我正在开发ASR(自动语音识别)的门户网站。大家都知道,ASR不会给出100%正确的结果。得出错误结果的主要原因是人的说话行为、噪音、说话风格、声音强度、同音词(buy、bye.cite、site)等。我计划使用门户网站进行后期处理。我定义了textarea,在这里我可以获得识别的文本。如果用户在文本区域中发现错误的单词,他将双击文本区域中的错误单词,并在相同位置选择单词后显示相似单词发音选项(相似发音的单词存储在文本文件中。一行包含相同发音的单词)。若用户选择了单词“sad”,那个么在选项中他将得到“sad,mad,bad”等。我已经创建了包含以下行的文本文件如何在javascript中从文本文件中提取行,javascript,jquery,Javascript,Jquery,我正在开发ASR(自动语音识别)的门户网站。大家都知道,ASR不会给出100%正确的结果。得出错误结果的主要原因是人的说话行为、噪音、说话风格、声音强度、同音词(buy、bye.cite、site)等。我计划使用门户网站进行后期处理。我定义了textarea,在这里我可以获得识别的文本。如果用户在文本区域中发现错误的单词,他将双击文本区域中的错误单词,并在相同位置选择单词后显示相似单词发音选项(相似发音的单词存储在文本文件中。一行包含相同发音的单词)。若用户选择了单词“sad”,那个么在选项中他
sad, mad, bad
hero, zero
site, cite
buy,bye
如果用户选择单词“site”,那么他将在textarea
中获得“site,cite”,最后用户将选择正确的单词。间接地,我在文本文件中搜索单词,如果在文本文件中找到单词,则复制整行并在textarea
中显示为选项(如输入文本后google display的搜索选项)
我写了一些小代码,但是没有完成所有的功能。我的文本文件是本地存储的
我已经解决了您的问题,但我使用的不是txt文件,而是json(因为fiddle中的CORS问题),但如果您创建txt文件,它也会工作。文件中的一行对应一个提示词
function populateList(val)
{
let textComponent = document.getElementById('textdata');
let tooltip = document.getElementById('tooltip');
let selectedText;
let startPos = textComponent.selectionStart;
let endPos = textComponent.selectionEnd;
selectedText = textComponent.value.substring(startPos, endPos);
fetch('https://api.myjson.com/bins/z9wr6').then(data=>data.json()).then(data=>{
let text = data.result.split('\n').reduce((acc,e)=>{
acc.push(Array.prototype.concat.call([],e.split(' ')))
return acc
},[]);
text.forEach(e=>{
if(e.find(ele=>ele===selectedText)){
tooltip.innerHTML = e.join(', ')
}
})
})
}
和工作提琴:您可以建议执行此任务的正确方向。可能重复的问题请参阅:除了行提取,我在textareaSource映射上有显示选项错误:类型错误:NetworkError尝试提取资源时。资源URL:moz-extension://cb75433b-8465-4e8f-a096-7363a2b5fc90/dependencies/DOMPurify-master/dist/purify.min.js