ReplacingArgs Class |
Namespace: Aspose.Words.Replacing
The ReplacingArgs type exposes the following members.
Name | Description | |
---|---|---|
![]() ![]() | GroupIndex |
Identifies, by index, a captured group in the Match
that is to be replaced with the Replacement string.
|
![]() ![]() | GroupName |
Identifies, by name, a captured group in the Match
that is to be replaced with the Replacement string.
|
![]() ![]() | Match |
The Match resulting from a single regular
expression match during a Replace.
|
![]() ![]() | MatchNode |
Gets the node that contains the beginning of the match.
|
![]() ![]() | MatchOffset |
Gets the zero-based starting position of the match from the start of
the node that contains the beginning of the match.
|
![]() ![]() | Replacement |
Gets or sets the replacement string.
|
Name | Description | |
---|---|---|
![]() | Equals | (Inherited from Object.) |
![]() | GetHashCode | (Inherited from Object.) |
![]() | GetType | (Inherited from Object.) |
![]() | ToString | (Inherited from Object.) |
public void InsertDocumentAtReplace() { Document mainDoc = new Document(MyDir + "Document insertion destination.docx"); FindReplaceOptions options = new FindReplaceOptions(); options.Direction = FindReplaceDirection.Backward; options.ReplacingCallback = new InsertDocumentAtReplaceHandler(); mainDoc.Range.Replace(new Regex("\\[MY_DOCUMENT\\]"), "", options); mainDoc.Save(ArtifactsDir + "InsertDocument.InsertDocumentAtReplace.doc"); } private class InsertDocumentAtReplaceHandler : IReplacingCallback { ReplaceAction IReplacingCallback.Replacing(ReplacingArgs args) { Document subDoc = new Document(MyDir + "Document.docx"); // Insert a document after the paragraph, containing the match text Paragraph para = (Paragraph) args.MatchNode.ParentNode; InsertDocument(para, subDoc); // Remove the paragraph with the match text para.Remove(); return ReplaceAction.Skip; } }
public void ReplaceWithInsertHtml() { // Open the document Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.Writeln("Hello <CustomerName>,"); FindReplaceOptions options = new FindReplaceOptions(); options.ReplacingCallback = new ReplaceWithHtmlEvaluator(options); doc.Range.Replace(new Regex(@" <CustomerName>,"), string.Empty, options); // Save the modified document doc.Save(ArtifactsDir + "Range.ReplaceWithInsertHtml.doc"); } private class ReplaceWithHtmlEvaluator : IReplacingCallback { internal ReplaceWithHtmlEvaluator(FindReplaceOptions options) { mOptions = options; } /// <summary> /// NOTE: This is a simplistic method that will only work well when the match /// starts at the beginning of a run. /// </summary> ReplaceAction IReplacingCallback.Replacing(ReplacingArgs args) { DocumentBuilder builder = new DocumentBuilder((Document) args.MatchNode.Document); builder.MoveTo(args.MatchNode); // Replace '<CustomerName>' text with a red bold name builder.InsertHtml("<b><font color='red'>James Bond, </font></b>"); args.Replacement = ""; return ReplaceAction.Replace; } private readonly FindReplaceOptions mOptions; }