Jak zastąpić całą, ale specyficzną część ciągu w Notepad ++?


-1

Mam listę z następującymi liniami:

103238704- | - | -INEEDTHIS- | -r4Vp5iL2VbM = - | -maiden name | -

Czy w Notepad ++ istnieje sposób na usunięcie wszystkiego z wyjątkiem INEEDTHIS?

INEEDTHIS będzie adresem e-mail.


2
Użyj opcji wyszukiwania i zamień. Szukaj za pomocą 103238704- | - | -INEEDTHIS- | -r4Vp5iL2VbM = - | -maiden name | - i zastąp je INEEDTHIS.
Babar

Tak, ale każda linia jest inna, na przykład następna linia wygląda następująco: 103238705- | - | -othertext- | -BB4e6X + b2xLioxG6CatHBw == - | -boyfriend | -
Lottex

-1 OKREŚL, CO NA ZIEMI, W KTÓRYCH CZĘŚĆ NA ŚRODKU MOŻE SPOWODOWAĆ, Barbar w komentarzu dał ci doskonałą odpowiedź (biorąc pod uwagę to, o co prosiłeś) w komentarzu (zastąp całą rzecz INEEDTHIS), a potem powiedziałeś, że środek może być | -othertext - | Otrzymasz za to zasłużone -1. Powinieneś lepiej napisać swoje pytanie.
barlop

Odpowiedzi:


0

Następnie możesz spróbować Regex w ten sposób:

[0-9]{9}\-\|\-\-\|\-(\w+)\-\|\-.+\|\-[\w\ ]+\|\-\-

To pasuje do obu łańcuchów. Będziesz musiał zastąpić $1, która będzie wartością, którą chcesz. Nie można przetestować Notepad ++, ponieważ go nie mam. Ale testowałem na moim edytorze, PhpStrom.

Aktualizacja: Aby również dopasować adresy e-mail, lepiej użyj tego:

[0-9]{9}\-\|\-\-\|\-([\w\@\.]+)\-\|\-.+\|\-[\w\ ]+\|\-\-

Czy to nie usunie wszystkich liczb? Ponieważ niestety „INEEDTHIS” ma czasami cyfry;
Lottex

Nie pasuje do liter i cyfr. a-z, A-Z, 0-9
Babar

Moje wiersze są takie jak poniżej 103251697-|--|-euniceknx@hotmail.com-|-ZI88rWBSuQPioxG6CatHBw==-|-twilight---- To by działało, gdyby nie było hotmaila: F I nie przy wszystkich hotmail
Lottex

[0-9]{9}\-\|\-\-\|\-([\w\@\.]+)\-\|\-.+\|\-[\w\ ]+\|\-\- To pasuje do wszystkich trzech linii i filtruje wymaganą część, w tym adres Hotmail!
Babar

1
Po prostu użyj (.*?) i skończ z tym.
Daniel B

0

Co powiesz na to?

^(.*?)-\|-(.*?)-\|-(.*?)-\|-.*$

Zamienić

$3

Nie zawiera to żadnych założeń co do zawartości submatów między -|- separatory.


0
^(?:[^|]+\|-){2}([^|]+)-.+$

To powinno działać dobrze, o ile twój ogranicznik nie zmieni się.

  1. ^: zacznijmy od początku
  2. (?:[^|]+\|-): dopasowuje wszystko, co nie jest symbolem potoku, symbolem potoku i następnym myślnikiem (z powodu ?: to jest grupa nie przechwytująca)
  3. {2}: dokładnie 2 razy
  4. ([^|]+): to jest twój przechwycony mecz; pasuje do wszystkiego, co nie jest symbolem fajki
  5. -.+$: dopasowuje myślnik i każdy znak do końca linii

Współpracuje z każdym dostarczonym przez Ciebie materiałem:

103238704- | - | -INEEDTHIS- | -r4Vp5iL2VbM = - | -maiden name | -   103238705- | - | -othertext- | -BB4e6X + b2xLioxG6CatHBw == - | -boyfriend | -   103251697-|--|-euniceknx@hotmail.com-|-ZI88rWBSuQPioxG6CatHBw==- |   103238923-|--|-y-tomoko@nifty.com-|-/lC7pSicTTk=-|-???|--   103238922-|--|-ndenler@hotmail.com-|-78oCcp+nW7/ioxG6CatHBw==- |

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.