Najít a nahradit

Můžete snadno procházet ve vašem dokumentu pomocí klávesnice a myši, ale pokud máte mnoho stránek procházet, bude to chvíli trvat najít konkrétní text v dlouhém dokumentu. Bude to více časově náročné, pokud chcete nahradit určité znaky nebo slova, která jste použili ve svém dokumentu. Funkci najdete a nahradíte tak, že v dokumentu najdete posloupnost znaků a nahradíte ji jinou posloupností znaků.

Aspose.Words umožňuje najít konkrétní řetězec nebo regulární vzor výrazu ve vašem dokumentu a nahradit jej alternativou bez instalace a použití dalších aplikací, jako například Microsoft Word. To urychlí mnoho psaní a formátování úkolů, potenciálně vám ušetří hodiny práce.

Tento článek vysvětluje, jak použít náhradu řetězce a pravidelné výrazy s podporou metacharakterů.

Způsoby, jak najít a nahradit

Aspose.Words poskytuje dva způsoby použití vyhledávacího a náhradního provozu pomocí:

  1. Jednoduchá náhrada řetězce lásky najít a nahradit konkrétní řetězec jiným, musíte zadat vyhledávací řetězec (alfanumerické znaky), který bude nahrazen podle všech výskytů jiným zadaným náhradním řetězcem. Oba řetězce nesmí obsahovat symboly. Vezměte v úvahu, že string comparison může být citlivý případ, nebo si můžete být jisti pravopisu nebo mají několik podobných pravopisů.
  2. Regularní výrazy díry pro upřesnění regulárního výrazu pro nalezení přesných strunných zápasů a jejich nahrazení podle regulárního výrazu. Všimněte si, že slovo je definováno jako tvořeno pouze alfanumerickými znaky. Pokud se provede výměna pouze s celým textem, který se shoduje a vstupní řetězec obsahuje symboly, pak nebudou nalezeny žádné fráze.

Také můžete použít speciální metacharaktery s jednoduchou výměnou strun a regulárními výrazy k určení přerušení v rámci hledání a nahrazení operace.

Aspose.Words představuje najít a nahradit funkčnost s IReplacingCallBack. Můžete pracovat s mnoha možnostmi během hledání a nahrazení procesu pomocí FindReplaceOptions třída.

Najít a nahradit text pomocí jednoduché výměny řetězců

Můžete použít jednu z Replace metody, jak najít nebo nahradit konkrétní řetězec a vrátit počet nahrazení, které byly provedeny. V tomto případě můžete zadat řetězec, který má být nahrazen, řetězec, který nahradí všechny jeho výskyty, zda je náhrada případ-citlivá, a zda bude ovlivněna pouze samostatná slova.

Následující příklad kódu ukazuje, jak najít řetězec

Můžete si všimnout rozdílu mezi dokumentem před použitím jednoduché náhrady řetězce:

before-simple-string-replacement-aspose-words-java

A po aplikaci jednoduché náhrady řetězce:

after-simple-string-replacement-aspose-words-java

Najít a nahradit text pomocí pravidelných výrazů

Pravidelný výraz (regex) je vzor, který popisuje určitou posloupnost textu. Předpokládejme, že chcete nahradit všechny dvojité výskyty slova jedinou událostí. Pak můžete použít následující regulární výraz pro upřesnění dvojslovného vzoru: ([a-zA-Z]+) \1.

Použijte ten druhý. Replace způsob vyhledávání a nahrazení určitých kombinací znaků nastavením Regex parametr jako regulární exprese vzor najít shody.

Následující příklad kódu ukazuje, jak nahradit řetězce, které odpovídají regulárnímu vzoru výrazu zadaným náhradním řetězcem:

Můžete si všimnout rozdílu mezi dokumentem před použitím náhrady řetězce s pravidelnými výrazy:

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

A po aplikaci náhrady řetězce s pravidelnými výrazy:

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

Najít a nahradit řetězec pomocí metacharakterů

Metaznaky můžete použít ve vyhledávacím řetězci nebo v náhradním řetězci, pokud se konkrétní text nebo fráze skládají z více odstavců, oddílů nebo stránek. Některé z metaznaků patří &p pro průlom odstavce, &b na přestávku v sekci, &m na pager a &l na přestávku.

Následující příklad kódu ukazuje, jak nahradit text odstavcem a zlomem stránky:

Text můžete najít a nahradit v záhlaví / stopě dokumentu Word pomocí HeaderFooter třída.

Následující příklad kódu ukazuje, jak nahradit text sekce záhlaví ve vašem dokumentu:

Můžete si všimnout rozdílu mezi dokumentem před použitím výměny řetězce záhlaví:

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

A po aplikaci výměny hlaviček:

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

Příklad kódu pro nahrazení textu zápatí ve vašem dokumentu je velmi podobný příkladu předchozího záhlaví kódu. Jediné, co musíte udělat, je vyměnit tyto dva řádky:

HeaderFooter header = headersFooters.get(HeaderFooterType.HEADER_PRIMARY);
header.getRange().replace("Aspose.Words", "Remove", options);

S těmito vlastnostmi:

Můžete si všimnout rozdílu mezi dokumentem před použitím zápatí nahrazení řetězce:

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

A po aplikaci zápatí nahrazení řetězce:

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

Ignorovat text během hledání a nahrazení

Při aplikaci vyhledání a nahrazení operace můžete některé segmenty textu ignorovat. Některé části textu tedy mohou být z hledání vyloučeny a nález a výměna lze použít pouze na zbývající části.

Aspose.Words poskytuje mnoho najít a nahradit vlastnosti pro ignorování textu, jako je IgnoreDeleted, IgnoreFieldCodes, IgnoreFields, IgnoreFootnotes, a IgnoreInserted.

Následující příklad kódu ukazuje, jak ignorovat text uvnitř odstranění revizí:

Přizpůsobit hledání a nahrazení operace

Aspose.Words poskytuje mnoho různých properties najít a nahradit text, jako je použití zvláštního formátu s ApplyFont a ApplyParagraphFormats vlastnosti, pomocí substitucí v náhradních vzorech s UseSubstitutions majetek a další.

Následující příklad kódu ukazuje, jak zvýraznit konkrétní slovo ve vašem dokumentu:

Aspose.Words umožňuje použít IReplacingCallback rozhraní pro vytvoření a volání vlastní metody během výměny operace. Můžete mít některé případy použití, kde budete muset přizpůsobit hledání a nahradit operaci, jako je nahrazení textu zadané s pravidelným výrazem HTML tagy, takže v podstatě budete aplikovat nahradit vložením HTML.

Pokud potřebujete nahradit řetězec HTML tagem, použijte IReplacingCallback rozhraní pro přizpůsobení vyhledání a nahrazení operace, takže zápas začíná na začátku spuštění s uzel zápasu vašeho dokumentu. Poskytněme několik příkladů použití IReplacingCallback.

Následující příklad kódu ukazuje, jak nahradit text zadaný HTML:

Následující příklad kódu ukazuje, jak zvýraznit pozitivní čísla s zelenou barvou a negativní čísla s červenou barvou:

Následující příklad kódu ukazuje, jak předložit číslo řádku na každý řádek: