Returns a text range identifying the first occurrence of the given string within the text,
starting from a given index.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.1.0.0 (26.1.0.34)
Syntax
C#
public TextRange Find( string searchString, int startIndex, bool matchCase, bool matchWholeWord )
Parameters
- searchString String
- The text to search for.
- startIndex Int32
- The start index to search within the text.
- matchCase Boolean
- True if the case must match when searching the formatted text, false to search in a case-insensitive manner.
- matchWholeWord Boolean
- True if the match must be a whole word when searching the formatted text, false otherwise.
Return Value
TextRangeThe text range identified.
Exceptions
Exception | Condition |
---|---|
ArgumentException | searchString is an empty string. -or- searchString contains invalid characters such as a newline character. |
ArgumentNullException | A non-optional argument was null |
ArgumentOutOfRangeException | The given value for startIndex is negative. |
Remarks
Returns an empty text range:- if the given string cannot be found in the text.
- if the given start index is beyond the length of the entire text.
Example
C#
#region Autodesk.Revit.DB.FormattedText.#ctor(System.String) public void ReformatText(TextNote textNote, string textToChange) { String plainText = textNote.Text; FormattedText formattedText = new FormattedText(plainText); TextRange foundRange = formattedText.Find(textToChange, 0, false, true); while (foundRange.Length > 0) { formattedText.SetBoldStatus(foundRange, true); foundRange = formattedText.Find(textToChange, foundRange.End, false, true); } textNote.SetFormattedText(formattedText); } #endregion
VB
#Region "Autodesk.Revit.DB.FormattedText.#ctor(System.String)" Public Sub ReformatText(textNote As TextNote, textToChange As String) Dim plainText As [String] = textNote.Text Dim formattedText As New FormattedText(plainText) Dim foundRange As TextRange = formattedText.Find(textToChange, 0, False, True) While foundRange.Length > 0 formattedText.SetBoldStatus(foundRange, True) foundRange = formattedText.Find(textToChange, foundRange.[End], False, True) End While textNote.SetFormattedText(formattedText) End Sub #End Region