Znajdź i zamień n znaków na długi losowy ciąg w Notepad ++, używając symboli wieloznacznych / regex

9

Mam zrzut SQL z wyrażeniami takimi jak youtubehd:2nj6bykw. 2nj6bykwMoże być również inny losowy ciąg. Ma zawsze 8 znaków.

Chcę zastąpić youtubehd:2nj6bykwprzez just youtubehd.

Jak mogę to zrobić bez ręcznej wymiany, jedna po drugiej? Zrzut SQL ma ponad 230000 linii i zawiera około 200 wystąpień tych ciągów.

Przypuszczam, że potrzebuję symbolu wieloznacznego, ale nie mam pojęcia, co to jest i jak mogę to zrobić.

Pomarańczowy
źródło

Odpowiedzi:

15

Upewnij się, że masz kopię zapasową na wypadek, gdyby coś poszło nie tak.

  • W Notepad ++ przejdź do Szukaj → Zamień
  • W polu tekstowym Znajdź co wklej następujące elementy:youtubehd:\w\w\w\w\w\w\w\w
  • W polu tekstowym Zamień na wklej następujące elementy:youtubehd
  • Upewnij się, że Tryb wyszukiwania jest ustawiony na Wyrażenie regularne
  • Kliknij Zamień wszystko

Dzięki KCotreau za zwrócenie uwagi, że tryb wyszukiwania ma domyślną wartość Normalną i należy go zmienić.

Edytować:

W komentarzach wskazano, że zamiast tego możesz użyć youtubehd:\w{8}jako wzorca wyszukiwania. Jest to poprawne i rzeczywiście preferowane. Wsparcie dla tego zostało dodane tylko w Notepad ++ v6, które pojawiło się po tym, jak zostało pierwotnie napisane, stąd powód, dla którego użyłem dłuższej formy. Zobacz tutaj po więcej.

James P.
źródło
1
+1 Biłem się, próbując to rozgryźć. Powinno być tak proste, ale nie było łatwo znaleźć. Przetestowałem to i działa. Dodałbym: Wybierz „Wyrażenie regularne” dla typu wyszukiwania.
KCotreau
Bardziej eleganckie byłoby: youtubehd:\w{8}dla stałej długości i youtubehd:\w*dla każdego
AndriuZ
@AndriuZ: Znałem \w{8}składnię, ale według mojej wiedzy Notepad ++ nie obsługiwał jej w tym czasie i wierzę, że została dodana w późniejszej wersji. Prawdopodobnie w pewnym momencie zaktualizuję odpowiedź, aby to odzwierciedlić.
James P
@James P zadziałało, kiedy testowałem na Np ++ 7.4.2 32bit
AndriuZ