Как в txt файле оставить только 2 строчки после определенного слова выше?
Есть txt файл , вот его содержимое:
=============== f fgyuf с Scryptics s Nartelis19 rhvrihvieg445gv54vuv =============== gk qwerty gfhfg с h5vvh5vh5vh5 s bj65v54gc4g gdfgdsggrsgdg433 =============== dgf ffrffef c c4ccf4cf4cf4fc4 s Ugniukas1 v4gv4v5g4g4vg5v4 =============== gk qwerty kfefdf c vg545v4gv45gv5g4v5g4 s jb6jb6jb6j g4g4vv4gv4gvg4 =============== gtth vdvfv gtggg c vg4vg45v45gvg4545vgv45g s v454vgv545v4gvg45 v4gg4vvg4g4vvg4vg45vg45vg4545vg =============== fvdver 443342 c cffx2sx2xs2xs2 s xe332xd23f4v5gh5b6 445vgv45gv45gv45gv45g45vg =============== Вопрос: Как джаваскриптом оставить только 2 строчки которые идут после строчки, в которой есть "фраза": gk qwerty ? См скрин: https://prnt.sc/22rtp3f И эти две строчки поставить через двоеточие? Должно остаться в txt файле вот так: с h5vvh5vh5vh5:s bj65v54gc4g c vg545v4gv45gv5g4v5g4:s jb6jb6jb6j |
const txt = `=============== f fgyuf с Scryptics s Nartelis19 rhvrihvieg445gv54vuv =============== gk qwerty gfhfg с h5vvh5vh5vh5 s bj65v54gc4g gdfgdsggrsgdg433 =============== dgf ffrffef c c4ccf4cf4cf4fc4 s Ugniukas1 v4gv4v5g4g4vg5v4 =============== gk qwerty kfefdf c vg545v4gv45gv5g4v5g4 s jb6jb6jb6j g4g4vv4gv4gvg4 =============== gtth vdvfv gtggg c vg4vg45v45gvg4545vgv45g s v454vgv545v4gvg45 v4gg4vvg4g4vvg4vg45vg45vg4545vg =============== fvdver 443342 c cffx2sx2xs2xs2 s xe332xd23f4v5gh5b6 445vgv45gv45gv45gv45g45vg ===============`; const outar = []; const txtar = txt.split('\n'); for (let i = 0; i < txtar.length-2; ) { if (txtar[i++].includes('gk qwerty')) outar.push(txtar[i++]+':'+txtar[i++]); } const txtout = outar.join('\n'); alert(txtout); ЗЫ Не было сказано, что делать в случаях, если 'gk qwerty' встречается в двух строках подряд или через строку или встречается в предпоследней строке |
mik888em,
<pre> <script> let str = `=============== f fgyuf с Scryptics s Nartelis19 rhvrihvieg445gv54vuv =============== gk qwerty gfhfg с h5vvh5vh5vh5 s bj65v54gc4g gdfgdsggrsgdg433 =============== dgf ffrffef c c4ccf4cf4cf4fc4 s Ugniukas1 v4gv4v5g4g4vg5v4 =============== gk qwerty kfefdf c vg545v4gv45gv5g4v5g4 s jb6jb6jb6j g4g4vv4gv4gvg4 =============== gtth vdvfv gtggg c vg4vg45v45gvg4545vgv45g s v454vgv545v4gvg45 v4gg4vvg4g4vvg4vg45vg45vg4545vg =============== fvdver 443342 c cffx2sx2xs2xs2 s xe332xd23f4v5gh5b6 445vgv45gv45gv45gv45g45vg =============== `; let save = 0, txt = 'gk qwerty' str = str.split(/\n/).filter(a => { if(save-- > 0) return true; save = a.includes(txt) ? 2 : 0 }); document.write(str.join('\n')) </script> </pre> |
Добавлю свои 5коп... :D
<script> const str = `=============== f fgyuf с Scryptics s Nartelis19 rhvrihvieg445gv54vuv =============== gk qwerty gfhfg с h5vvh5vh5vh5 s bj65v54gc4g gdfgdsggrsgdg433 =============== dgf ffrffef c c4ccf4cf4cf4fc4 s Ugniukas1 v4gv4v5g4g4vg5v4 =============== gk qwerty kfefdf c vg545v4gv45gv5g4v5g4 s jb6jb6jb6j g4g4vv4gv4gvg4 =============== gtth vdvfv gtggg c vg4vg45v45gvg4545vgv45g s v454vgv545v4gvg45 v4gg4vvg4g4vvg4vg45vg45vg4545vg =============== fvdver 443342 c cffx2sx2xs2xs2 s xe332xd23f4v5gh5b6 445vgv45gv45gv45gv45g45vg =============== `; const txt = 'gk qwerty' let i = 0 do { i = str.indexOf(txt, i) if (i !== -1) { i = str.indexOf('\n', i) let k = i for (let j = 0; j < 2 ; j++) k = str.indexOf('\n', k + 1) const val = str.substring(i + 1, k).replace('\n', ': ') document.write('<p>' + val + '</p>') i = k } } while (i !== -1) </script> |
Часовой пояс GMT +3, время: 21:27. |