Nie wiem w jakim dokładnie dziale to dać, daję tutaj bo tutaj najmądrzejsze głowy siedzą. Pytanie jest CZY się da a jeśli się da to JAK. Wiem, że to można zrobić na wiele innych sposobów ale pytam konkretnie o Notepad++.
Czy w Notepad++ jest możliwość w jakiś sposób wyszukać jakąś liczbę a następnie zwiększyć ją o jeden (lub wykonać jakieś proste odejmowanie czy dodawanie)? Do tego oczywiście potrzeba wyrażenia regularnego gdyż chcę zmienić w pliku XML coś masowo bez wrzucania tego do excela a zamiana polega na wykonaniu operacji (X - wyszukana wartość). Konkretnie pytam o notepad++
Zależy co jest dostępne portable bo w pracy mam nieduże możliwości instalacji w perlu kiedyś coś robiłem w trakcie czytania książki Wyrażenia Regularne, Pythona widziałem a o Ruby słyszałem Szkoda że silnik wyszukiwania i zamiany nie ma możliwości wykonania operacji matematycznych. Z tego co widzę na Wiki jest prosty przykład z mnożeniem przez 2 pierwszej wyszukanej liczby. Chyba muszę sobie coś o Perlu przypomnieć.
Nie wiem jak to zrobić w Notepad++, ale zawsze możesz sobie napisać stosowny skrypt (np. w JavaScripcie) osadzony na stronie www - formularz do którego wkleisz cały tekst do zamiany, potem klikasz na przycisk uruchamiający zamianę (funkcja w JS), która tekst wynikowy ponownie wstawi do formularza (textarea).
Dlatego napisałem w moim pierwszym poście, że wiem że można to zrobić na wiele różnych sposobów ale pytałem dokładnie o Notepad++ gdyż dzięki wyrażeniom regularnym jest moim nieodłącznym partnerem w pracy Gdyby tylko Notepad++ potrafił parsować wyrażenia stałyby się takim np. Perlem w Notatniku dzięki któremu nie trzeba by pisać skryptu, otwierać w nim pliku gdyż Notepad++ robiłby to w aktualnym pliku. Dając przykład:
Plik XML z elementami punkt:
i tych punktów duużo. Chciałem przykładowo współrzędne z współrzędną X zrobić coś takiego 300 - aktualna współrzędna X - 92.5
specjalnie tutaj nie skracam 300 i 92.5 bo chodzi o czytelność danych. I jak łatwo by było gdyby można było zrobić w notepadzie takie coś
Szukaj: x="(\d*(.\d*)?)
Zamień na: x="300 - \1 - 92.5 /ew
I tadam. Tysiąc punktów z tysiąca plików przekształcone bez pisania skryptu Może kiedyś dodadzą.
Mówiąc krótko: zwykłe wyszukiwanie i podstawianie przy użyciu samego tylko wyrażenia regularnego nie ma możliwości dynamicznej modyfikacji znalezionego wzorca (jest możliwość zmian statycznych - z góry ustalonych).