Как в 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, время: 04:07. |