---
title: NSString.EnumerationOptions
framework: foundation
role: symbol
role_heading: Structure
path: foundation/nsstring/enumerationoptions
---

# NSString.EnumerationOptions

Constants to specify kinds of substrings and styles of enumeration.

## Declaration

```swift
struct EnumerationOptions
```

## Overview

Overview These options are used with the enumerateSubstrings(in:options:using:) method. Pass in one NSStringEnumerationBy... option and combine with any of the remaining enumeration style constants using the C bitwise OR operator.

## Topics

### Constants

- [byLines](foundation/nsstring/enumerationoptions/bylines.md)
- [byParagraphs](foundation/nsstring/enumerationoptions/byparagraphs.md)
- [byComposedCharacterSequences](foundation/nsstring/enumerationoptions/bycomposedcharactersequences.md)
- [byWords](foundation/nsstring/enumerationoptions/bywords.md)
- [bySentences](foundation/nsstring/enumerationoptions/bysentences.md)
- [reverse](foundation/nsstring/enumerationoptions/reverse.md)
- [substringNotRequired](foundation/nsstring/enumerationoptions/substringnotrequired.md)
- [localized](foundation/nsstring/enumerationoptions/localized.md)

### Initializers

- [init(_:)](foundation/nsstring/enumerationoptions/init(_:).md)
- [init(rawValue:)](foundation/nsstring/enumerationoptions/init(rawvalue:).md)

### Instance Methods

- [contains(_:)](foundation/nsstring/enumerationoptions/contains(_:).md)
- [formIntersection(_:)](foundation/nsstring/enumerationoptions/formintersection(_:).md)
- [formSymmetricDifference(_:)](foundation/nsstring/enumerationoptions/formsymmetricdifference(_:).md)
- [formUnion(_:)](foundation/nsstring/enumerationoptions/formunion(_:).md)
- [insert(_:)](foundation/nsstring/enumerationoptions/insert(_:).md)
- [isSubset(of:)](foundation/nsstring/enumerationoptions/issubset(of:).md)
- [remove(_:)](foundation/nsstring/enumerationoptions/remove(_:).md)

### Type Properties

- [byCaretPositions](foundation/nsstring/enumerationoptions/bycaretpositions.md)
- [byDeletionClusters](foundation/nsstring/enumerationoptions/bydeletionclusters.md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [ExpressibleByArrayLiteral](swift/expressiblebyarrayliteral.md)
- [OptionSet](swift/optionset.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [SetAlgebra](swift/setalgebra.md)

## See Also

### Performing Linguistic Analysis

- [enumerateLinguisticTags(in:scheme:options:orthography:using:)](foundation/nsstring/enumeratelinguistictags(in:scheme:options:orthography:using:).md)
- [linguisticTags(in:scheme:options:orthography:tokenRanges:)](foundation/nsstring/linguistictags(in:scheme:options:orthography:tokenranges:).md)
