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 ++?

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+"


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.

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.