
- Swift - Home
- Swift - Overview
- Swift - Environment
- Swift - Basic Syntax
- Swift - Variables
- Swift - Constants
- Swift - Literals
- Swift - Comments
- Swift Operators
- Swift - Operators
- Swift - Arithmetic Operators
- Swift - Comparison Operators
- Swift - Logical Operators
- Swift - Assignment Operators
- Swift - Bitwise Operators
- Swift - Misc Operators
- Swift Advanced Operators
- Swift - Operator Overloading
- Swift - Arithmetic Overflow Operators
- Swift - Identity Operators
- Swift - Range Operators
- Swift Data Types
- Swift - Data Types
- Swift - Integers
- Swift - Floating-Point Numbers
- Swift - Double
- Swift - Boolean
- Swift - Strings
- Swift - Characters
- Swift - Type Aliases
- Swift - Optionals
- Swift - Tuples
- Swift - Assertions and Precondition
- Swift Control Flow
- Swift - Decision Making
- Swift - if statement
- Swift - if...else if...else Statement
- Swift - if-else Statement
- Swift - nested if statements
- Swift - switch statement
- Swift - Loops
- Swift - for in loop
- Swift - While loop
- Swift - repeat...while loop
- Swift - continue statement
- Swift - break statement
- Swift - fall through statement
- Swift Collections
- Swift - Arrays
- Swift - Sets
- Swift - Dictionaries
- Swift Functions
- Swift - Functions
- Swift - Nested Functions
- Swift - Function Overloading
- Swift - Recursion
- Swift - Higher-Order Functions
- Swift Closures
- Swift - Closures
- Swift-Escaping and Non-escaping closure
- Swift - Auto Closures
- Swift OOps
- Swift - Enumerations
- Swift - Structures
- Swift - Classes
- Swift - Properties
- Swift - Methods
- Swift - Subscripts
- Swift - Inheritance
- Swift-Overriding
- Swift - Initialization
- Swift - Deinitialization
- Swift Advanced
- Swift - ARC Overview
- Swift - Optional Chaining
- Swift - Error handling
- Swift - Concurrency
- Swift - Type Casting
- Swift - Nested Types
- Swift - Extensions
- Swift - Protocols
- Swift - Generics
- Swift - Access Control
- Swift - Function vs Method
- Swift - SwiftyJSON
- Swift - Singleton class
- Swift Random Numbers
- Swift Opaque and Boxed Type
Swift String enumerated() Function
String enumerated() Function
The enumerated() method of the String structure is used to iterate over the given string and return each character and its respective index value. For example, we have a string "Car", now we use the enumerated() method. This method returns a tuple that contains the character and their index: (0, C, (1, a), (2, r).
Syntax
Following is the syntax of the enumerated() method −
func enumerated()
Parameters
This method does not take any parameters.
Return Value
This method returns a tuple that contains the character and its index value.
Example 1
Swift program to demonstrate how to use the enumerated() method −
// Input String let str = "Swift" for (index, char) in str.enumerated() { print("(Index: \(index), Character: \(char))"); }
Output
(Index: 0, Character: S) (Index: 1, Character: w) (Index: 2, Character: i) (Index: 3, Character: f) (Index: 4, Character: t)
Example 2
Swift program to count vowels and their position using the enumerated() method −
// Input String let str = "Mohan is good person" for (index, char) in str.enumerated() { // Converting all the characters into lowercase let newStr = char.lowercased() // checking for vowels if "aeiou".contains(newStr) { print("Vowel '\(newStr)'is found at index \(index)") } }
Output
Vowel 'o'is found at index 1 Vowel 'a'is found at index 3 Vowel 'i'is found at index 6 Vowel 'o'is found at index 10 Vowel 'o'is found at index 11 Vowel 'e'is found at index 15 Vowel 'o'is found at index 18
Example 3
Swift program to reverse a string while maintaining its original indices using the enumerated() method −
// Input String let str = "Swift" var revStr = "" var revIndices = [Int]() // Reversing String while maintaining their original position for (index, char) in str.enumerated() { revStr = String(char) + revStr revIndices.append(index) } print("Reversed String: \(revStr)") print("Original Indices: \(revIndices)")Output
Reversed String: tfiwS Original Indices: [0, 1, 2, 3, 4]swift_strings.htm
Advertisements