replace method
replace(pattern, replacement)
Replaces all occurrences of a specified character string pattern with a replacement string.
def replace(self, pattern: str, replacement: str):
...
Parameter | Type | Description |
---|---|---|
pattern | str | A string to be replaced. |
replacement | str | A string to replace all occurrences of pattern. |
Remarks
The pattern will not be used as regular expression. Please use Aspose.Words.Range.Replace(System.Text.RegularExpressions.Regex,System.String) if you need regular expressions.
Used case-insensitive comparison.
Method is able to process breaks in both pattern and replacement strings.
You should use special meta-characters if you need to work with breaks:
&p - paragraph break
&b - section break
&m - page break
&l - manual line break
Use methodRange.replace() to have more flexible customization.
Returns
The number of replacements made.
replace(pattern, replacement, options)
Replaces all occurrences of a specified character string pattern with a replacement string.
def replace(self, pattern: str, replacement: str, options: aspose.words.replacing.FindReplaceOptions):
...
Parameter | Type | Description |
---|---|---|
pattern | str | A string to be replaced. |
replacement | str | A string to replace all occurrences of pattern. |
options | FindReplaceOptions | FindReplaceOptions object to specify additional options. |
Remarks
The pattern will not be used as regular expression. Please use Aspose.Words.Range.Replace(System.Text.RegularExpressions.Regex,System.String,Aspose.Words.Replacing.FindReplaceOptions) if you need regular expressions.
Method is able to process breaks in both pattern and replacement strings.
You should use special meta-characters if you need to work with breaks:
&p - paragraph break
&b - section break
&m - page break
&l - manual line break
&& - & character
Returns
The number of replacements made.
Examples
Shows how to perform a find-and-replace text operation on the contents of a document.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.writeln("Greetings, _FullName_!")
# Perform a find-and-replace operation on our document's contents and verify the number of replacements that took place.
replacement_count = doc.range.replace("_FullName_", "John Doe")
self.assertEqual(1, replacement_count)
self.assertEqual("Greetings, John Doe!", doc.get_text().strip())
Shows how to add formatting to paragraphs in which a find-and-replace operation has found matches.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.writeln("Every paragraph that ends with a full stop like this one will be right aligned.")
builder.writeln("This one will not!")
builder.write("This one also will.")
paragraphs = doc.first_section.body.paragraphs
self.assertEqual(aw.ParagraphAlignment.LEFT, paragraphs[0].paragraph_format.alignment)
self.assertEqual(aw.ParagraphAlignment.LEFT, paragraphs[1].paragraph_format.alignment)
self.assertEqual(aw.ParagraphAlignment.LEFT, paragraphs[2].paragraph_format.alignment)
# We can use a "FindReplaceOptions" object to modify the find-and-replace process.
options = aw.replacing.FindReplaceOptions()
# Set the "alignment" property to "ParagraphAlignment.Right" to right-align every paragraph
# that contains a match that the find-and-replace operation finds.
options.apply_paragraph_format.alignment = aw.ParagraphAlignment.RIGHT
# Replace every full stop that is right before a paragraph break with an exclamation point.
count = doc.range.replace(".&p", "!&p", options)
self.assertEqual(2, count)
self.assertEqual(aw.ParagraphAlignment.RIGHT, paragraphs[0].paragraph_format.alignment)
self.assertEqual(aw.ParagraphAlignment.LEFT, paragraphs[1].paragraph_format.alignment)
self.assertEqual(aw.ParagraphAlignment.RIGHT, paragraphs[2].paragraph_format.alignment)
self.assertEqual("Every paragraph that ends with a full stop like this one will be right aligned!\r" +
"This one will not!\r" +
"This one also will!", doc.get_text().strip())
Shows how to replace text in a document’s footer.
doc = aw.Document(MY_DIR + "Footer.docx")
headers_footers = doc.first_section.headers_footers
footer = headers_footers.get_by_header_footer_type(aw.HeaderFooterType.FOOTER_PRIMARY)
options = aw.replacing.FindReplaceOptions()
options.match_case = False
options.find_whole_words_only = False
current_year = date.today().year
footer.range.replace("(C) 2006 Aspose Pty Ltd.", f"Copyright (C) {current_year} by Aspose Pty Ltd.", options)
doc.save(ARTIFACTS_DIR + "HeaderFooter.replace_text.docx")
Shows how to toggle case sensitivity when performing a find-and-replace operation.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.writeln("Ruby bought a ruby necklace.")
# We can use a "FindReplaceOptions" object to modify the find-and-replace process.
options = aw.replacing.FindReplaceOptions()
# Set the "match_case" flag to "True" to apply case sensitivity while finding strings to replace.
# Set the "match_case" flag to "False" to ignore character case while searching for text to replace.
options.match_case = match_case
doc.range.replace("Ruby", "Jade", options)
self.assertEqual(
"Jade bought a ruby necklace." if match_case else "Jade bought a Jade necklace.",
doc.get_text().strip())
Shows how to toggle standalone word-only find-and-replace operations.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.writeln("Jackson will meet you in Jacksonville.")
# We can use a "FindReplaceOptions" object to modify the find-and-replace process.
options = aw.replacing.FindReplaceOptions()
# Set the "find_whole_words_only" flag to "True" to replace the found text if it is not a part of another word.
# Set the "find_whole_words_only" flag to "False" to replace all text regardless of its surroundings.
options.find_whole_words_only = find_whole_words_only
doc.range.replace("Jackson", "Louis", options)
self.assertEqual(
"Louis will meet you in Jacksonville." if find_whole_words_only else "Louis will meet you in Louisville.",
doc.get_text().strip())
Shows how to replace all instances of String of text in a table and cell.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
table = builder.start_table()
builder.insert_cell()
builder.write("Carrots")
builder.insert_cell()
builder.write("50")
builder.end_row()
builder.insert_cell()
builder.write("Potatoes")
builder.insert_cell()
builder.write("50")
builder.end_table()
options = aw.replacing.FindReplaceOptions()
options.match_case = True
options.find_whole_words_only = True
# Perform a find-and-replace operation on an entire table.
table.range.replace("Carrots", "Eggs", options)
# Perform a find-and-replace operation on the last cell of the last row of the table.
table.last_row.last_cell.range.replace("50", "20", options)
self.assertEqual("Eggs\a50\a\a" + "Potatoes\a20\a\a", table.get_text().strip())
See Also
- module aspose.words
- class Range