Znajdź i zastąp wiele razy w pliku txt

3

Wiem, że to mogło być wcześniej zadane, ale nie mogłem znaleźć odpowiedzi na to pytanie.

Muszę zastąpić następujące: CoverLevel = "XX" z CoverLevel = "0", obejmuje to XX jako dowolną liczbę, bez zastępowania podobnych instancji, takich jak CoverLevel = "True" lub CoverLevel lub MinCoverLevel = "1.3"

czy byłoby to możliwe dzięki notepad ++?

ABD10
źródło

Odpowiedzi:

9

W dolnej części okna wyszukiwania / zamiany możesz wybrać tryb wyszukiwania „wyrażenie regularne”, a następnie możesz wyszukać

CoverLevel="\d\d"

\d oznacza dowolną liczbę w wyrażeniu regularnym. Wyszukuje dwie liczby, jeśli chcesz wyszukać „jedną lub więcej liczb”, możesz użyć + kwantyfikator "\d+"

BobbyTables
źródło
Ciekawe, czy to również odpowiada ostatniej części pytania? without replacing ... or MinCoverLevel="1.3"
TMH
@TomHart Tak, tak. . nie jest cyfrą.
Johnbot
Ahh tak, nie pomyślałem o tym!
TMH
2
Może wpisać go jako „boveroverLevel = d +” b oznacza granicę słowa, więc zaczyna się od CoverLevel i nie jest częścią ciągu. Nie zapominaj również, że musisz zastąpić CoverLevel + nowe wyrażenie.
Zikato
A jeśli XX miał być ograniczony do dwóch cyfr (tj. Nie chcesz zastąpić CoverLevel = "212", możesz użyć CoverLevel="\d\d?", gdzie ? pasuje do 0 lub 1 instancji.
Brian J
0

Jeśli chcesz też coś zostawić SomeOtherCoverLevel="1234" nietknięty, musisz zamiast tego użyć następujących.

^CoverLevel="\d+"$

To, czego potrzebujesz, to rozgraniczenie początku i końca, aby mieć pewność, że nic innego nie zostało dotknięte.

nehcsivart
źródło