Găsiți și înlocuiți

Puteți naviga cu ușurință în documentul dvs. folosind o tastatură și un mouse, dar dacă aveți multe pagini de parcurs, va dura destul de mult timp pentru a găsi un anumit text într-un document lung. Va consuma mai mult timp atunci când doriți să înlocuiți anumite caractere sau cuvinte pe care le-ați folosit în documentul dvs. Funcționalitatea “găsiți și înlocuiți” vă permite să găsiți o secvență de caractere într-un document și să o înlocuiți cu o altă secvență de caractere.

Aspose.Words vă permite să găsiți un anumit șir sau un model de expresie regulată în documentul dvs. și să îl înlocuiți cu o alternativă fără a instala și utiliza aplicații suplimentare, cum ar fi Microsoft Word. Acest lucru va accelera multe sarcini de tastare și formatare, economisind potențial ore de lucru.

Acest articol explică modul de aplicare a înlocuirii șirurilor și a expresiilor regulate cu sprijinul metacaracterelor.

Modalități de a găsi și înlocui

Aspose.Words oferă două moduri de a aplica operația de găsire și înlocuire utilizând următoarele:

  1. Simple string replacement - pentru a găsi și înlocui un șir specific cu altul, trebuie să specificați un șir de căutare (caractere alfanumerice) care va fi înlocuit în funcție de toate aparițiile cu un alt șir de înlocuire specificat. Ambele șiruri nu trebuie să conțină simboluri. Luați în considerare faptul că compararea șirurilor poate fi sensibilă la majuscule și minuscule sau este posibil să nu fiți sigur de ortografie sau să aveți mai multe ortografii similare.
  2. Regular expressions - pentru a specifica o expresie regulată pentru a găsi potrivirile exacte ale șirului și a le înlocui în funcție de expresia dvs. regulată. Rețineți că un cuvânt este definit ca fiind alcătuit doar din caractere alfanumerice. Dacă o înlocuire este executată cu doar cuvinte întregi potrivite și șirul de intrare conține simboluri, atunci nu vor fi găsite fraze.

În plus, puteți utiliza metacaractere speciale cu înlocuire simplă a șirurilor și expresii regulate pentru a specifica pauze în cadrul operației de găsire și înlocuire.

Aspose.Words prezintă funcționalitatea Găsire și înlocuire cu spațiul de nume Aspose.Words.Replacing. Puteți lucra cu mai multe opțiuni în timpul procesului de găsire și înlocuire folosind clasa FindReplaceOptions.

Găsiți și înlocuiți textul folosind înlocuirea simplă a șirurilor

Puteți utiliza una dintre metodele Replace pentru a găsi sau înlocui un anumit șir și pentru a returna numărul de înlocuiri care au fost făcute. În acest caz, puteți specifica un șir de înlocuit, un șir care va înlocui toate aparițiile sale, dacă înlocuirea este sensibilă la majuscule și minuscule și dacă vor fi afectate doar cuvintele de sine stătătoare.

Următorul exemplu de cod arată cum să găsiți șirul “CustomerName " și să îl înlocuiți cu șirul “James Bond”:

Puteți observa diferența dintre document înainte de a aplica înlocuirea simplă a șirului:

before-simple-string-replacement-aspose-words-cpp

Și după aplicarea înlocuirii simple a șirului:

after-simple-string-replacement-aspose-words-cpp

Găsiți și înlocuiți textul folosind expresii regulate

O expresie regulată (regex) este un model care descrie o anumită secvență de text. Să presupunem că doriți să înlocuiți toate aparițiile duble ale unui cuvânt cu un singur cuvânt. Apoi puteți aplica următoarea expresie regulată pentru a specifica modelul cu două cuvinte: ([a-zA-Z]+) \1.

Utilizați cealaltă metodă Replace pentru a căuta și înlocui anumite combinații de caractere setând parametrul Regex ca model de expresie regulată pentru a găsi potriviri.

Următorul exemplu de cod arată cum să înlocuiți șirurile care se potrivesc cu un model de expresie regulată cu un șir de înlocuire specificat:

Puteți observa diferența dintre document înainte de a aplica înlocuirea șirului cu expresii regulate:

before-replacement-with-regular-expressions-aspose-words-cpp

Și după aplicarea înlocuirii șirului cu expresii regulate:

after-replacement-with-regular-expressions-aspose-words-cpp

Găsiți și înlocuiți șirul folosind metacaractere

Puteți utiliza metacaractere în șirul de căutare sau în șirul de înlocuire dacă un anumit text sau expresie este compus din mai multe paragrafe, secțiuni sau pagini. Unele dintre metacaractere includ &p pentru o pauză de paragraf, &b pentru o pauză de secțiune, &m pentru o pauză de pagină și &l pentru o pauză de linie.

Următorul exemplu de cod arată cum să înlocuiți textul cu paragraf și pauză de pagină:

Puteți găsi și înlocui textul în secțiunea antet/subsol a unui document Word folosind clasa HeaderFooter.

Următorul exemplu de cod arată cum să înlocuiți textul secțiunii antet din documentul dvs:

Puteți observa diferența dintre document înainte de a aplica înlocuirea șirului de antet:

before-applying-header-string-replacement-aspose-words-cpp

Și după aplicarea înlocuirii șirului de antet:

after-applying-header-string-replacement-aspose-words-cpp

Exemplul de cod pentru a înlocui textul secțiunii subsol din documentul dvs. este foarte similar cu exemplul de cod antet anterior. Tot ce trebuie să faceți este să înlocuiți următoarele două linii:

auto header = headersFooters->idx_get(HeaderFooterType::HeaderPrimary);
header->get_Range()->Replace(u"Aspose.Words", u"Remove", options);

Cu următoarele:

auto footer = headersFooters->idx_get(HeaderFooterType::FooterPrimary);
footer->get_Range()->Replace(u"(C) 2006 Aspose Pty Ltd.", u"Copyright (C) Aspose Pty Ltd.", options);

Puteți observa diferența dintre document înainte de a aplica înlocuirea șirului de subsol:

before-applying-footer-string-replacement-aspose-words-cpp

Și după aplicarea înlocuirii șirului de subsol:

after-applying-footer-string-replacement-aspose-words-cpp

Ignorați textul în timpul găsirii și înlocuirii

În timp ce aplicați operația de găsire și înlocuire, puteți ignora anumite segmente ale textului. Deci, anumite părți ale textului pot fi excluse din căutare, iar găsirea și înlocuirea pot fi aplicate numai părților rămase.

Aspose.Words oferă multe proprietăți de găsire și înlocuire pentru ignorarea textului, cum ar fi IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes, și IgnoreInserted.

Următorul exemplu de cod arată cum să ignorați textul din interiorul reviziilor de ștergere:

Personalizați operația de găsire și înlocuire

Aspose.Words oferă multe properties diferite pentru a găsi și înlocui text, cum ar fi aplicarea unui format specific cu ApplyFont și ApplyParagraphFormats proprietăți, folosind substituții în modele de înlocuire cu UseSubstitutions proprietate și altele.

Următorul exemplu de cod arată cum să evidențiați un anumit cuvânt în documentul dvs:

Aspose.Words vă permite să utilizați interfața IReplacingCallback pentru a crea și a apela o metodă personalizată în timpul unei operații de înlocuire. Este posibil să aveți unele cazuri de utilizare în care trebuie să personalizați operațiunea găsiți și înlocuiți, cum ar fi înlocuirea textului specificat cu o expresie regulată cu etichete HTML, deci practic veți aplica înlocuiți cu inserarea HTML.

Dacă trebuie să înlocuiți un șir cu o etichetă HTML, Aplicați interfața IReplacingCallback pentru a personaliza operația de găsire și înlocuire, astfel încât potrivirea să înceapă la începutul unei rulări cu nodul de potrivire al documentului dvs. Să oferim câteva exemple de utilizare a IReplacingCallback.

Următorul exemplu de cod arată cum să înlocuiți textul specificat cu HTML:

Următorul exemplu de cod arată cum să evidențiați numerele pozitive cu culoarea verde și numerele negative cu culoarea roșie:

Următorul exemplu de cod arată cum să prependați un număr de linie la fiecare linie: