Aquí está mi código:
const string = `1 00:01:46,356 --> 00:01:49,893 test test test test 2 00:01:50,794 --> 00:01:54,998 test test test red test test 3 00:01:55,199 --> 00:01:58,267 test test red`; const match = st.split('\n\n').find((e) => e.includes('red')); console.log(match);el problema es que devuelve solo la primera aparición (la palabra "rojo" en la segunda oración) mientras que hay otro "rojo" en la última oración. ¿Qué debo hacer para obtener todas las ocurrencias?
Usando encontrar :
devuelve el valor del primer elemento en la matriz proporcionada que satisface la función de prueba proporcionada
En lugar de buscar, puede usar el filtro:
const match = string.split('\n\n').filter((e) => e.includes('red')); const string = `1 00:01:46,356 --> 00:01:49,893 test test test test 2 00:01:50,794 --> 00:01:54,998 test test test red test test 3 00:01:55,199 --> 00:01:58,267 test test red`; const match = string.split('\n\n').filter((e) => e.includes('red')); console.log(match);Simplemente use filter en lugar de find .
const st = `1 00:01:46,356 --> 00:01:49,893 test test test test 2 00:01:50,794 --> 00:01:54,998 test test test red test test 3 00:01:55,199 --> 00:01:58,267 test test red`; const match = st.split('\n\n').filter((e) => e.includes('red')); console.log(match);