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í:
- 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ů.
- 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 jmenný prostor. 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:
A po aplikaci jednoduché náhrady řetězce:
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 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 ten druhý. Replace metoda 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 uplatněním náhrady řetězce s pravidelnými výrazy:
A po aplikaci náhrady řetězce s pravidelnými výrazy:
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:
Najít a nahradit řetězec v záhlaví/footer dokumentu
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í:
A po aplikaci výměny řetězce hlavičky:
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[HeaderFooterType.HeaderPrimary];
header.Range.Replace("Aspose.Words", "Remove", options);
S:
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);
Můžete si všimnout rozdílu mezi dokumentem před použitím zápatí nahrazení řetězce:
A po aplikaci zápatí nahrazení řetězce:
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 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 s použitím substitucí v náhradních vzorech s UseSubstitutions majetek a další.
Následující příklad kódu ukazuje, jak zdůraznit konkrétní slovo ve vašem dokumentu:
Aspose.Words umožňuje použití 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 je třeba přizpůsobit vyhledávací a nahradit operaci, jako je nahrazení textu zadaným pravidelným výrazem HTML tagy, takže v podstatě použijete 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: