---
title: "CFStringFind(_:_:_:)"
framework: corefoundation
role: symbol
role_heading: Function
path: "corefoundation/cfstringfind(_:_:_:)"
---

# CFStringFind(_:_:_:)

Searches for a substring within a string and, if it is found, yields the range of the substring within the object’s characters.

## Declaration

```swift
func CFStringFind(_ theString: CFString!, _ stringToFind: CFString!, _ compareOptions: CFStringCompareFlags) -> CFRange
```

## Parameters

- `theString`: The string in which to search for stringToFind.
- `stringToFind`: The string to search for in theString.
- `compareOptions`: Flags that select different types of comparisons, such as localized comparison, case-insensitive comparison, and non-literal comparison. If you want the default comparison behavior, pass 0. See doc://com.apple.corefoundation/documentation/CoreFoundation/string-comparison-flags for the available flags.

## Return Value

Return Value The range of the located substring within theString. If a match is not located, the returned CFRange structure will have a location of kCFNotFound and a length of 0 (either of which is enough to indicate failure).

## Discussion

Discussion This function is a convenience when you want to know if the entire range of characters represented by a string contains a particular substring. If you want to search only part of the characters of a string, use the CFStringFindWithOptions(_:_:_:_:_:) function. Both of these functions return upon finding the first occurrence of the substring, so if you want to find out about multiple occurrences, call the CFStringCreateArrayWithFindResults(_:_:_:_:_:) function. Depending on the comparison-option flags specified, the length of the resulting range might be different than the length of the search string.

## See Also

### Searching Strings

- [CFStringCreateArrayWithFindResults(_:_:_:_:_:)](corefoundation/cfstringcreatearraywithfindresults(_:_:_:_:_:).md)
- [CFStringFindCharacterFromSet(_:_:_:_:_:)](corefoundation/cfstringfindcharacterfromset(_:_:_:_:_:).md)
- [CFStringFindWithOptions(_:_:_:_:_:)](corefoundation/cfstringfindwithoptions(_:_:_:_:_:).md)
- [CFStringFindWithOptionsAndLocale(_:_:_:_:_:_:)](corefoundation/cfstringfindwithoptionsandlocale(_:_:_:_:_:_:).md)
- [CFStringGetLineBounds(_:_:_:_:_:)](corefoundation/cfstringgetlinebounds(_:_:_:_:_:).md)
