---
title: "range(of:options:)"
framework: foundation
role: symbol
role_heading: Instance Method
path: "foundation/nsstring/range(of:options:)"
---

# range(of:options:)

Finds and returns the range of the first occurrence of a given string within the string, subject to given options.

## Declaration

```swift
func range(of searchString: String, options mask: NSString.CompareOptions = []) -> NSRange
```

## Parameters

- `searchString`: The string to search for.
- `mask`: A mask specifying search options. For possible values, see doc://com.apple.foundation/documentation/Foundation/NSString/CompareOptions.

## Return Value

Return Value An NSRange structure giving the location and length in the receiver of the first occurrence of

## Discussion

Discussion searchString, modulo the options in mask. Returns {``NSNotFound``, 0} if searchString is not found or is empty (""). Discussion Invokes range(of:options:range:) with the options specified by mask and the entire extent of the receiver as the range. NSString objects are compared by checking the Unicode canonical equivalence of their code point sequences.  The length of the returned range and that of searchString may differ if equivalent composed character sequences are matched. important: When working with text that’s presented to the user, use the localizedStandardRange(of:) method instead.

## See Also

### Finding Characters and Substrings

- [contains(_:)](foundation/nsstring/contains(_:).md)
- [localizedCaseInsensitiveContains(_:)](foundation/nsstring/localizedcaseinsensitivecontains(_:).md)
- [localizedStandardContains(_:)](foundation/nsstring/localizedstandardcontains(_:).md)
- [rangeOfCharacter(from:)](foundation/nsstring/rangeofcharacter(from:).md)
- [rangeOfCharacter(from:options:)](foundation/nsstring/rangeofcharacter(from:options:).md)
- [rangeOfCharacter(from:options:range:)](foundation/nsstring/rangeofcharacter(from:options:range:).md)
- [range(of:)](foundation/nsstring/range(of:).md)
- [range(of:options:range:)](foundation/nsstring/range(of:options:range:).md)
- [range(of:options:range:locale:)](foundation/nsstring/range(of:options:range:locale:).md)
- [localizedStandardRange(of:)](foundation/nsstring/localizedstandardrange(of:).md)
- [enumerateLines(_:)](foundation/nsstring/enumeratelines(_:).md)
- [enumerateSubstrings(in:options:using:)](foundation/nsstring/enumeratesubstrings(in:options:using:).md)
