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. Najít a nahradit funkce vám umožní najít posloupnost znaků v dokumentu a nahradit jej 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 jsou 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 za řetězec díry pro nalezení a nahrazení konkrétního řetězce jiným, musíte zadat vyhledávací řetězec (alfanumerické znaky), který bude nahrazen podle všech událostí jiným zadaným náhradním řetězcem. Oba řetězce nesmějí obsahovat symboly. Vezměte v úvahu, že string srovnání může být případ-citlivý, nebo si můžete být jisti pravopisu nebo mají několik podobných pravopisů.
  2. Regularní výrazy > Chcete-li zadat regulární výraz najít přesné string zápasy a nahradit je podle vašeho regulárního výrazu. Všimněte si, že slovo je definováno jako tvořeno pouze alfanumerickými znaky. Pokud je výměna provedena pouze s celým textem, která se shodují a vstupní řetězec obsahuje symboly, pak se nenajdou žádné fráze.

Kromě toho můžete použít speciální metacharaktery s jednoduchou náhradou řetězce a regulární 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 aspose.words.replacing Modul. 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 a replace_regex 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

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

builder.writeln("Hello _CustomerName_,")
print("Original document text: " + doc.range.text)

doc.range.replace("_CustomerName_", "James Bond", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD))

print("Document text after replace: " + doc.range.text)

# Save the modified document
doc.save(docs_base.artifacts_dir + "FindAndReplace.simple_find_replace.docx")

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

before-simple-string-replacement

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

after-simple-string-replacement

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

Pravidelný výraz je vzor, který popisuje určitou posloupnost textu. Předpokládejme, že chcete nahradit všechny dvojité výskyty slova jedním slovem. 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 replace_regex metoda vyhledávání a nahrazení jednotlivých kombinací znaků nastavením regulárního parametru výrazu jako vzor pro hledání 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 uplatněním náhrady řetězce s pravidelnými výrazy:

before-replacement-with-regular-expressions

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

after-replacement-with-regular-expressions

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

Metaznaky můžete použít ve vyhledávacím řetězci nebo 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 pro přestávku v sekci, &m na pagerový zlom a &l na přestávku.

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

Text můžete najít a nahradit v části záhlaví / nohy 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

A po aplikaci výměny řetězce hlavičky:

after-applying-header-string-replacement

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:

header = headersFooters.get_by_header_footer_type(aw.HeaderFooterType.HEADER_PRIMARY)
header.range.replace("Aspose.Words", "Remove", options)

S:

header = headersFooters.get_by_header_footer_type(aw.HeaderFooterType.FOOTER_PRIMARY)
header.range.replace("Aspose.Words", "Remove", options)

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

before-applying-footer-string-replacement

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

after-applying-footer-string-replacement

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

Při aplikaci hledání a nahrazení operace můžete ignorovat některé segmenty textu. Některé části textu tedy mohou být vyloučeny z vyhledávání 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 ignore_deleted, ignore_fields, a ignore_inserted.

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 vlastností najít a nahradit text, jako je použití zvláštní formát s apply_font a apply_paragraph_formats vlastnosti s použitím substitucí v náhradních vzorech s use_substitutions majetek a další.

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