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.

Lottex
źródło
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\ ]+\|\-\-
Babar
źródło
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-|--|[email protected]|-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.

Excellll
źródło
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-|--|[email protected]|-ZI88rWBSuQPioxG6CatHBw==- |   103238923-|--|[email protected]|-/lC7pSicTTk=-|-???|--   103238922-|--|[email protected]|-78oCcp+nW7/ioxG6CatHBw==- |

JC2k8
źródło