Aquí está mi código y el problema es que si busca "recordar" o "miembro", devuelve el resultado. Como "recordar" tiene "miembro" y solo quiero buscar coincidencias exactas. No debo devolver nada cuando busco 'miembro'.
txt= `38 00:04:17.795 --> 00:04:23.551 Two previous cases were open and shut. 39 00:04:23.601 --> 00:04:29.140 It was January 3, 1995, my daughter's birthday. 40 00:04:29.140 --> 00:04:30.441 I remember.` const searchedWord = 'member'; var res = txt .toLowerCase() .split('\n\n') .filter((x) => { return x.includes(searchedWord.toLowerCase()); }); console.log(res);Parece que desea solicitar saltos de palabra a cada lado de la palabra que está buscando. Puedes hacerlo con una expresión regular:
const searchRegex = /\bmember\b/i; // *** var res = txt .toLowerCase() .split('\n\n') .filter((x) => { return searchRegex.test(x); // *** });Ejemplo en vivo:
const txt = `38 00:04:17.795 --> 00:04:23.551 Two previous cases were open and shut. 39 00:04:23.601 --> 00:04:29.140 It was January 3, 1995, my daughter's birthday. 40 00:04:29.140 --> 00:04:30.441 I remember. 41 He was a member of the club 42 Something else`; const searchRegex = /\bmember\b/i; var res = txt .toLowerCase() .split('\n\n') .filter((x) => { return searchRegex.test(x); }); console.log(res); Si necesita crear la expresión regular dinámicamente (es decir, comenzando con una variable de cadena o similar que contenga "member" ), consulte las respuestas de esta pregunta y, si corresponde, esta .