Cum să eliminați linii duplicate și goale

Există un fișier text temp6.txt în care sunt afișate următoarele informații:

Cum să eliminați linii duplicate și goale

Ștergerea repetițiilor și a liniilor goale în acest fel

Linii 7 și 8 (vezi imaginea) ar trebui să fie șterse, așa cum am înțeles, dar ele rămân. Adică, nu există niciun sens din array_unique și array_filter. Mai precis, cel mai probabil folosesc abuziv funcțiile.

Datorită versiunii lui Alexei Shimansky:

a reușit să scape de liniile goale. Dar liniile se repetă! Array_unique ceva inutil ceva. = (

O întrebare conexă. Și cum să sortați rândurile în ordinea descrescătoare a primelor 10 caractere (numere, de exemplu: 0000000504, 0000000503, etc.)? Cred că e mai bine să nu ia în considerare întreaga linie, pentru că există numere cu textul intercalat. Dar nu înțeleg cum să ceară o mostră, care, așa cum ar fi, va fi un drapel.

Multumesc pentru tot! I-am făcut totul

presetat 14 ianuarie '16 la ora 14:02

Eliminarea duplicatelor funcționează excelent pentru dvs. Și cu ultima linie, "problema" nu este în ea, ci în simbolul "newline" la sfârșitul liniei penultimate - de fapt, fiecare linie de date se termină cu un caracter de linie nouă.

Cum să eliminați linii duplicate și goale

Pentru a "goli linia" nu a fost, trebuie să tăiați caracterul de linie nouă la sfârșitul ultimei linii cu valoarea dată.

Cea mai apropiată de codul sursă ar fi această opțiune:

În prima linie din matricea de date $, avem linii unice fără caracter de sfârșit de linie la sfârșitul fiecărei linii și spații la margini, dacă există, ceea ce este puțin probabil.

În al doilea rând, golim liniile goale din matrice utilizând funcția auxiliară notEmpty (). deși nu există aproape deloc linii goale acolo.

În cea de-a treia, vom scrie rezultatul în fișier - conectăm elementele matricei cu un nou simbol de linie. Deci, după ultima linie a acestui personaj nu va fi.

Ei bine, suntem oameni buni, pentru că. acum citim și scriem fișierul o singură dată.

@ E_p Ești inactiv și mi-ai interpretat greșit cuvintele. N-am spus că "am mai puține coduri". Am scris că "fișierul trebuie să fie în câteva rânduri". În aceeași zi liberă pe care o formezi. Ce din nou ai scris Alexey Prisyazhny. Asta am spus despre inexactități. Și care este lungimea ta. Am absolut nu-mi pasă) nu măsoară lungimea codului)) - Alexey Shymansky 14 ianuarie '16 la 17:59

Articole similare