EditPoint.ReplacePattern Method (TextPoint, String, String, Int32, TextRanges)


Finds a pattern in the specified range of text and replaces it with the specified text.

Namespace:   EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

bool ReplacePattern(
	TextPoint Point,
	string Pattern,
	string Replace,
	int vsFindOptionsValue = 0,
	ref TextRanges Tags = null


Type: EnvDTE.TextPoint

Required. The endpoint of the specified range of text. The edit point and Point are the boundaries for replacement.

Type: System.String

Required. The string to find.

Type: System.String

Required. The replacement string for Pattern.

Type: System.Int32

Optional. A vsFindOptions constant indicating the type of search to perform.

Type: EnvDTE.TextRanges

Optional. If the matched pattern is a regular expression containing tagged sub-expressions, then Tags contains a collection of TextRange objects, one for each tagged subexpression.

Return Value

Type: System.Boolean

true if replacement occurs successfully; otherwise, false.

ReplacePattern finds text similarly to FindPattern, except that it only searches the text between edit point and the argument Point. To find and replace in the entire document, use ReplacePattern. The Tags collection returns only information for the last matched pattern.

Sub ReplacePatternExample()
   Dim objTextDoc As TextDocument
   Dim objMovePt As EditPoint
   Dim objEditPt As EditPoint, iCtr As Integer

   ' Create a new text file.
   DTE.ItemOperations.NewFile("General\Text File")

   ' Get a handle to the new document and create an EditPoint.
   objTextDoc = DTE.ActiveDocument.Object("TextDocument")
   objMovePt = objTextDoc.EndPoint.CreateEditPoint
   objEditPt = objTextDoc.StartPoint.CreateEditPoint

   ' Insert ten lines of text.
   For iCtr = 1 To 10
      objEditPt.Insert("This is a test." & Chr(13))
   Next iCtr
   ' Replace all occurrences of "test" with "thing."
    objEditPt.ReplacePattern(objMovePt, "test", "thing", vsFindOptions.vsFindOptionsFromStart)
End Sub
Return to top