• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Notepad++ kopiowanie wklejanie określonej części tekstu w pętli

0 głosów
202 wizyt
pytanie zadane 6 grudnia 2017 w C i C++ przez Grzegorz Mikina Bywalec (2,080 p.)
Witam, szukałem ale nic nie pasuje do mojego zapytania, więc pytam. Chce hurtowo zamienić ileś linijek przykładowo ok 150.

<li><a target="_blank" href="http://..."title="..."Przykładowa nazwa</a></li>

<li>Przykładowa nazwa<a target="_blank" href="http://..."title="..."</a></li>

Dodam, że Przykładowa nazwa jest zmienną częścią, mogę to tak ustawić, żeby była jednakowo długa, może być zawarta między cudzysłowami, ale sam tekst jest zmienny. Wiem, że notepad++ jest bardzo rozbudowanym kompilatorem tekstu, jednak nie mam pomysłu.Czy ma ktoś jakiś pomysł jak to rozwiązać?

1 odpowiedź

0 głosów
odpowiedź 6 grudnia 2017 przez Tomek Sochacki Maniak (72,820 p.)
wybrane 6 grudnia 2017 przez Grzegorz Mikina
 
Najlepsza

Według mnie najlepiej wyrażeniem regularnym, w notepad++ daj ctrl+H do okna wyszukana i podmiany tekstu, następnie w polu szukany tekst wpisujesz regexp i na dole zaznaczasz "wyrażenia regularne". Możesz sobie wtedy też ładnie analizować kolejne dopasowania i w razie czego poprawiać.

Napisz tylko dokładnie co na co chcesz zmienić, to znaczy daj jakiś konkretny przykład "tekst pierwotny" + "test po zmianie" to pomożemy stworzyć regexp.

Myślę, że moglibyśmy tutaj wyszukać tagi <a> i </a> i dopasować tekst pomiędzy nimi.

Jeśli chcesz zamienić <li><a ... >COS</a></li> na <li>COS<a ...></a></li> (tak wynika z Twojego opisu) to może to zrobić np. wzorzec:

 

szukany tekst: <li>(<a.*?>)(.+)<\/a><\/li>
zamień na:     <li>$2$1<\/a><\/li>

tylko napisz czy na pewno o to Ci chodzi, czy jakaś inna zmiana? Aha, i pamiętaj o włączeniu "wyrażenia regularne" na dole okna szukaj/zamień!

komentarz 6 grudnia 2017 przez Grzegorz Mikina Bywalec (2,080 p.)
Dał bym Ci kolego drugi raz pomógł, jak była by tylko taka możliwość. Więcej takich ludzi jak Ty a świat będzie dużo lepszym miejscem, niż jest.
komentarz 6 grudnia 2017 przez Tomek Sochacki Maniak (72,820 p.)
:) Spoko. Na tym forum jest sporo osób chętnie pomagających, a przy okazji poznałem możliwości notepad++, kto wie kiedy się przydadzą :)
komentarz 6 grudnia 2017 przez Grzegorz Mikina Bywalec (2,080 p.)
^ początek wzorca ^za zapałka, zadra, zapłon, zarazek kazanie, poza, bazar
$ koniec wzorca az$
^.arka$
uraz, pokaz
barka, warka
azymut, pokazy
parkan
. dowolny pojedynczy znak .an.a panda, Wanda, panna, kania rana, konia
[...] dowolny z wymienionych znaków; możemy podawać kolejne znaki lub wpisywać zakres - na przykład [a-z] oznacza wszystkie małe litery. Wymieniając specjale znaki z końca tej tabeli nie musimy poprzedzać znakiem \ [a-z]an[nd]a
[a-z][a-zA-Z0-9.-][pus]
pana, panda, wanna
pas, mAs, p2p, m3u, b-s, z.u
Wanda, kania
Bas, bal, balu, mp3
[^...] dowolny z niewymienionych znaków kre[^st] krew, krem kres, kret
| dowolny z rozdzielonych znakiem ciągów [nz]a|pod|przed
trzynasty|13-ty|13
na, za, pod, przed
trzynasty, 13-ty, 13
 
(...) zawężenie zasięgu g(ż|rz)eg(ż|rz)(u|ó)łka
(ósmy|8-my|8)(maj|maja)
gżegżółka, gżegrzółka, gżegrzułka, grzegrzułka
ósmy maja, 8-my maj, 8 maja
 
? zero lub jeden poprzedzający znak lub element; elementem może być na przykład wyrażenie umieszczone wewnątrz nawiasów (...) ro?uter
(ósmy|8(-my)?)maja?
router, ruter
ósmy maja, ósmy maj, 8-mymaja, 8-my maj, 8 maja, 8 maj
 
+ jeden lub więcej poprzedzających znaków lub elementów; elementem może być na przykład wyrażenie umieszczone wewnątrz nawiasów (...) [0-9]+[abc]
pan+a
(tam)+
10a, 1b, 003c, 42334b
pana, panna, pannnna
tam, tamtam, tamtamtam
a, b, c, z, 14, 03, 12d, 1231z
paa, panda, ta, tamta, mat
* zero lub więcej poprzedzających znaków lub elementów; elementem może być na przykład wyrażenie umieszczone wewnątrz nawiasów (...) [0-9]*[abc]
pora*n*a*
10a, 1b, 003c, 42334b, a, b, c
por, poa, poranna, poraannnaa, pornnna
k, 2335, porada, panna
{4} dokładnie 4 poprzedzające znaki lub elementy [0-9]{4} 8765, 8273, 2635 12345, 234, 2123456
{4,} 4 lub więcej poprzedzających znaków lub elementów [ah]{4,} haha, haaaaahaha, ahaaa haa, ha, hehe, aha
{2,4} od 2 do 4 poprzedzających znaków lub elementów p.{2,4}a piana, pola, polana psa, poranna
\. znak kropki [0-9]{,3}\.[0-9]{,3}\.[0-9]{,3} 128.0.0.2 128-0-0-2
\* znak * \*.+ *nic nic*, nic
\/ znak / ^\/\/$ //  
\? znak ? ^.+\?$ Czy to jest kot? Czy to jest kot
\: znak : ^.+\:$ Oto one: :nic
\. znak . \.+ ......  
\^ znak ^ .*\^ To jest ^ To jest &
\+ znak + [0-9]+\+[0-9]+ 928374+29832 23873-32787
238738278
\\ znak \ c\:\\ c:\  
\= znak = [0-9]+\+[0-9]+\=[0-9]+ 11+12=23 11+12+23
\| znak | x \|\| y x || y  
komentarz 6 grudnia 2017 przez Tomek Sochacki Maniak (72,820 p.)
Hmm... powiedzmy, że na początek przygody z regexp może być :) Są tu pewnie nieścisłości i braki ale nie chcę Ci zbyt mocno komplikować.

Jedyne co to nawiasy okrągłe: "( ... )" to nie do końca "zawężenie zakresu" (nie wiem skąd niektórzy biorą te nazwy...:) Można to rozumieć w pewnym sensie jako podwzorzec, czyli dodatkowy, wewnętrzny wzorzec regexp, który może zostać zapamiętany lub nie (grupy bez zapamiętania tworzy się: "(?: ... )").

Nie wiem w jakim języku programowania działasz, ale jeśli w JS to na moim blogu poruszałem parę tematów związanych z wyrażeniami regularnymi z przykładami (poradnik.drogimex.pl).

Ale na pewno polecam poznać chociaż podstawy regexp, wbrew pozorom często się to przydaje.
komentarz 6 grudnia 2017 przez Grzegorz Mikina Bywalec (2,080 p.)
Jak widać na dzisiejszym przykładzie na pewno niedługo będę wiedzieć coś na ten temat. Pozdrawiam, jeszcze raz dzięki za pomoc.

Podobne pytania

0 głosów
4 odpowiedzi 562 wizyt
pytanie zadane 31 stycznia 2016 w Offtop przez Miki Obywatel (1,310 p.)
0 głosów
2 odpowiedzi 354 wizyt
pytanie zadane 22 lipca 2017 w Systemy operacyjne, programy przez Quasch Nowicjusz (140 p.)
0 głosów
2 odpowiedzi 102 wizyt
pytanie zadane 12 listopada 2017 w C i C++ przez maonthe Nowicjusz (120 p.)
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

50,938 zapytań

93,214 odpowiedzi

189,204 komentarzy

24,822 pasjonatów

Przeglądających: 163
Pasjonatów: 4 Gości: 159

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...