<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreFoundation",
  "identifier" : "/documentation/CoreFoundation/CFMutableCharacterSet",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Core Foundation"
    ],
    "preciseIdentifier" : "c:@T@CFMutableCharacterSetRef"
  },
  "title" : "CFMutableCharacterSet"
}
-->

# CFMutableCharacterSet

```
class CFMutableCharacterSet
```

## Overview

CFMutableCharacterSet manages dynamic character sets. The basic interface for managing character sets is provided by [`CFCharacterSet`](/documentation/CoreFoundation/CFCharacterSet). CFMutableCharacterSet adds functions to modify the contents of a character set.

You create a mutable character set object using either the [`CFCharacterSetCreateMutable(_:)`](/documentation/CoreFoundation/CFCharacterSetCreateMutable(_:)) or [`CFCharacterSetCreateMutableCopy(_:_:)`](/documentation/CoreFoundation/CFCharacterSetCreateMutableCopy(_:_:)) function.

CFMutableCharacterSet is “toll-free bridged” with its Cocoa Foundation counterpart, <doc://com.apple.documentation/documentation/Foundation/NSMutableCharacterSet>. This means that the Core Foundation type is interchangeable in function or method calls with the bridged Foundation object. Therefore, in a method where you see an `NSMutableCharacterSet *` parameter, you can pass in a `CFMutableCharacterSetRef`, and in a function where you see a `CFMutableCharacterSetRef` parameter, you can pass in an NSMutableCharacterSet instance. This capability also applies to concrete subclasses of NSMutableCharacterSet. See [Toll-Free Bridged Types](https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFDesignConcepts/Articles/tollFreeBridgedTypes.html#//apple_ref/doc/uid/TP40010677) for more information on toll-free bridging.

## Topics

### Creating a Mutable Character Set

[`CFCharacterSetCreateMutable(_:)`](/documentation/CoreFoundation/CFCharacterSetCreateMutable(_:))

Creates a new empty mutable character set.

[`CFCharacterSetCreateMutableCopy(_:_:)`](/documentation/CoreFoundation/CFCharacterSetCreateMutableCopy(_:_:))

Creates a new mutable character set with the values from another character set.

### Adding Characters

[`CFCharacterSetAddCharactersInRange(_:_:)`](/documentation/CoreFoundation/CFCharacterSetAddCharactersInRange(_:_:))

Adds a given range to a character set.

[`CFCharacterSetAddCharactersInString(_:_:)`](/documentation/CoreFoundation/CFCharacterSetAddCharactersInString(_:_:))

Adds the characters in a given string to a character set.

### Removing Characters

[`CFCharacterSetRemoveCharactersInRange(_:_:)`](/documentation/CoreFoundation/CFCharacterSetRemoveCharactersInRange(_:_:))

Removes a given range of Unicode characters from a character set.

[`CFCharacterSetRemoveCharactersInString(_:_:)`](/documentation/CoreFoundation/CFCharacterSetRemoveCharactersInString(_:_:))

Removes the characters in a given string from a character set.

### Logical Operations

[`CFCharacterSetIntersect(_:_:)`](/documentation/CoreFoundation/CFCharacterSetIntersect(_:_:))

Forms an intersection of two character sets.

[`CFCharacterSetInvert(_:)`](/documentation/CoreFoundation/CFCharacterSetInvert(_:))

Inverts the content of a given character set.

[`CFCharacterSetUnion(_:_:)`](/documentation/CoreFoundation/CFCharacterSetUnion(_:_:))

Forms the union of two character sets.

## See Also

  [String Programming Guide for Core Foundation](https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFStrings/introCFStrings.html#//apple_ref/doc/uid/10000131i)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)