---
title: NSMutableCharacterSet
framework: foundation
role: symbol
role_heading: Class
path: foundation/nsmutablecharacterset
---

# NSMutableCharacterSet

An object representing a mutable set of Unicode character values for use in search operations.

## Declaration

```swift
class NSMutableCharacterSet
```

## Overview

Overview In Swift, this object bridges to CharacterSet; use NSMutableCharacterSet when you need reference semantics or other Foundation-specific behavior. The NSMutableCharacterSet class declares the programmatic interface to objects that manage a modifiable set of Unicode characters. You can add or remove characters from a mutable character set as numeric values in NSRange structures or as character values in strings, combine character sets by union or intersection, and invert a character set. Mutable character sets are less efficient to use than immutable character sets. If you don’t need to change a character set after creating it, create an immutable copy with copy and use that. NSMutableCharacterSet defines no primitive methods. Subclasses must implement all methods declared by this class in addition to the primitives of NSCharacterSet. They must also implement mutableCopy(with:). NSMutableCharacterSet is “toll-free bridged” with its Core Foundation counterpart, CFMutableCharacterSet. See Toll-Free Bridging for more information. important: The Swift overlay to the Foundation framework provides the CharacterSet structure, which bridges to the NSMutableCharacterSet class and its immutable superclass, NSCharacterSet.  For more information about value types, see Working with Foundation Types.

## Topics

### Getting Standard Character Sets

- [alphanumeric()](foundation/nsmutablecharacterset/alphanumeric().md)
- [capitalizedLetter()](foundation/nsmutablecharacterset/capitalizedletter().md)
- [control()](foundation/nsmutablecharacterset/control().md)
- [decimalDigit()](foundation/nsmutablecharacterset/decimaldigit().md)
- [decomposable()](foundation/nsmutablecharacterset/decomposable().md)
- [illegal()](foundation/nsmutablecharacterset/illegal().md)
- [letter()](foundation/nsmutablecharacterset/letter().md)
- [lowercaseLetter()](foundation/nsmutablecharacterset/lowercaseletter().md)
- [newline()](foundation/nsmutablecharacterset/newline().md)
- [nonBase()](foundation/nsmutablecharacterset/nonbase().md)
- [punctuation()](foundation/nsmutablecharacterset/punctuation().md)
- [symbol()](foundation/nsmutablecharacterset/symbol().md)
- [uppercaseLetter()](foundation/nsmutablecharacterset/uppercaseletter().md)
- [whitespaceAndNewline()](foundation/nsmutablecharacterset/whitespaceandnewline().md)
- [whitespace()](foundation/nsmutablecharacterset/whitespace().md)

### Creating Custom Character Sets

- [init(charactersIn:)](foundation/nsmutablecharacterset/init(charactersin:).md)
- [init(range:)](foundation/nsmutablecharacterset/init(range:).md)
- [init(bitmapRepresentation:)](foundation/nsmutablecharacterset/init(bitmaprepresentation:).md)
- [init(contentsOfFile:)](foundation/nsmutablecharacterset/init(contentsoffile:).md)

### Adding and Removing Characters

- [addCharacters(in:)](foundation/nsmutablecharacterset/addcharacters(in:)-4ppyw.md)
- [removeCharacters(in:)](foundation/nsmutablecharacterset/removecharacters(in:)-70nqp.md)
- [addCharacters(in:)](foundation/nsmutablecharacterset/addcharacters(in:)-7q02.md)
- [removeCharacters(in:)](foundation/nsmutablecharacterset/removecharacters(in:)-762gt.md)

### Combining Character Sets

- [formIntersection(with:)](foundation/nsmutablecharacterset/formintersection(with:).md)
- [formUnion(with:)](foundation/nsmutablecharacterset/formunion(with:).md)

### Inverting a Character Set

- [invert()](foundation/nsmutablecharacterset/invert().md)

## Relationships

### Inherits From

- [NSCharacterSet](foundation/nscharacterset.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSMutableCopying](foundation/nsmutablecopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
