Găsește și înlocuiește

Te poţi deplasa cu uşurinţă în cadrul unui document folosind o tastatură şi un mouse, dar dacă ai de parcurs multe pagini să se deruleze, va dura destul de mult timp pentru a găsi un anumit text într-un document lung. “Va fi mai consumator de timp atunci când doriți să înlocuiți anumite caractere sau cuvinte pe care le-ați folosit în documentul dumneavoastră.” 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 altă secvență de caractere.

Aspose.Words vă permite să găsiți un ș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, potențial economisind ore de muncă.

Acest articol explică modul de aplicare a înlocuirii șirurilor și a expresiilor regulate cu ajutorul caracterelor meta.

Moduri de a găsi și înlocui

Aspose.Words oferă două moduri de aplicare a operațiunii de căutare și înlocuire folosind următoarele:

  1. Înlocuirea simplă a șirului - pentru a găsi și înlocui un anumit șir cu altul, trebuie să specificați un șir de căutare (caractere alfanumerice) care va fi înlocuit conform tuturor aparițiilor cu alt șir specificat ca înlocuire. Ambele șiruri nu trebuie să conțină simboluri. Ține cont de faptul că comparația șirurilor de caractere poate fi sensibilă la majuscule, sau s-ar putea să nu fii sigur de ortografie sau să ai mai multe scrieri similare.
  2. Expresii regulate – pentru a specifica o expresie regulată pentru a găsi potriviri exacte de șiruri și pentru a le înlocui în conformitate cu expresia regulată. Notă că un cuvânt este definit ca fiind format din doar caractere alfanumerice. Dacă înlocuirea este executată cu doar cuvinte întregi care se potrivesc și șirul de intrare se întâmplă să conțină simboluri, atunci nu se vor găsi fraze.

În plus, puteți folosi caractere speciale meta cu înlocuire simplă de șiruri de caractere și expresii regulate pentru a specifica întreruperi în operațiunea de găsire și înlocuire.

Aspose.Words prezintă funcționalitatea “găsește și înlocuiește” cu spațiul de nume Aspose.Words.Replacing. Poţi lucra cu multe opţiuni în timpul procesului de găsire şi înlocuire folosind clasa FindReplaceOptions.

Găsește și înlocuiește text folosind înlocuirea simplă a șirurilor de caractere

Puteți folosi una din Replace metode 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 o șir care va fi înlocuit, un șir care va înlocui toate aparițiile sale, dacă înlocuirea este sensibile de litere mari și mici, și dacă numai cuvintele independente vor fi afectate.

Exemplul următor de cod arată cum se găsește șirul “CustomerName” și se înlocuiește cu șirul “James Bond":

Puteți observa diferența dintre document înainte de aplicarea înlocuirii simple a șirului:

before-simple-string-replacement

Și după aplicarea înlocuirii simple de șiruri:

after-simple-string-replacement

Găsește și înlocuiește text folosind expresii regulate

O expresie regulată (regex) este un model care descrie o anumită secvență de text. “Dacă vrei să înlocuiești toate aparițiile duble ale unui cuvânt cu o singură apariție.” Apoi, puteți aplica următoarea expresie regulată pentru a specifica modelul dublu cuvânt: ([a-zA-Z]+) \1.

Utilizează metoda Replace pentru a căuta și înlocui combinații specifice de caractere prin setarea parametrului Regex ca șablon al expresiei regulate pentru a găsi potriviri.

Exemplul de cod următor prezintă modul în care să înlocuiți șiruri de caractere care se potrivesc cu un model de expresie regulată cu un șir de înlocuire specificat:

Poți observa diferența dintre documentul înainte de aplicarea înlocuirii șirului cu expresii regulate:

before-replacement-with-regular-expressions

Și după aplicarea înlocuirii șirurilor de caractere cu expresii regulate:

after-replacement-with-regular-expressions

Găsiți și înlocuiți șir folosind caractere metae

Puteți folosi caractere metachiaracterice în șirul de căutare sau șirul de înlocuire dacă un anumit text sau o frază este compusă din mai multe paragrafe, secțiuni sau pagini. Unii dintre caracterele metae includ &p pentru o pauză de paragraf, & b pentru o secțiune, &m pentru un salt de pagină și &l pentru o linie.

Exemplul de cod următor arată cum să înlocuiți textul cu un paragraf și o pauză de pagină:

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

Exemplul de cod următor arată cum să înlocuiți textul secțiunii antetului din documentul dvs

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

before-applying-header-string-replacement

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

after-applying-header-string-replacement

Exemplul de cod pentru a înlocui textul secțiunii de subsol în documentul dvs. este foarte asemănător cu exemplul de cod antet de mai sus. Tot ce trebuie să faci este să înlocuiești următoarele două rânduri:

HeaderFooter header = headersFooters[HeaderFooterType.HeaderPrimary];
header.Range.Replace("Aspose.Words", "Remove", options);

Cu următoarele:

HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary];
int currentYear = System.DateTime.Now.Year;
footer.Range.Replace("(C) 2006 Aspose Pty Ltd.", $"Copyright (C) {currentYear} by Aspose Pty Ltd.", options);

Puteți observa diferența dintre documentul înainte de aplicarea înlocuirii șirului de subsol:

before-applying-footer-string-replacement

Și după aplicarea înlocuirii șirului de subsol

after-applying-footer-string-replacement

Ignoră text în timpul căutării și înlocuirii

În timp ce aplici operația de căutare și înlocuire, poți ignora anumite segmente din text. Deci, anumite părți ale textului pot fi excluse de la căutare și funcția găsiți și înlocuiți poate fi aplicată numai părților rămase.

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

Exemplul de cod următor arată cum să ignori textul din reviziuni ștergând:

Personalizați operațiunea “Găsiți și înlocuiți”

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

Exemplul de cod următor arată cum să evidențiezi un cuvânt specific în documentul tău:

Aspose.Words vă permite să utilizați IReplacingCallback interfață pentru crearea și apelarea unei metode personalizate în timpul unei operații de înlocuire. Puteți avea unele cazuri de utilizare în care aveți nevoie să particularizați operațiunea de căutare și înlocuire, cum ar fi înlocuirea textului specificat cu o expresie regulată cu etichete HTML, deci, în esență, veți aplica înlocuirea prin inserarea HTML.

Dacă ai nevoie să înlocuiești o șir cu un tag HTML, aplică interfața IReplacingCallback pentru a personaliza operația de căutare și înlocuire astfel încât potrivirea să înceapă de la începutul unui segment din nodul de potrivire al documentului tău. Să prezentăm câteva exemple de utilizare a lui IReplacingCallback.

Exemplul următor de cod arată cum să înlocuiască text specificat cu HTML:

Exemplul de cod de mai jos arată cum să evidențiem numerele pozitive cu culoarea verde și numerele negative cu culoarea roșie:

Exemplul de cod următor arată cum să pre-adăugăm un număr liniei fiecărei linii: