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