How to find the Index of Last Occurrence of Substring in Swift


How to find the Index of Last Occurrence of Substring in Swift ?

Answer

To find the index of the last occurrence of a substring in Swift, you can use the range(of:options:) method of the String class with the .backwards option. This method allows you to search for the substring starting from the end of the string.



✐ Examples

1 Finding the last occurrence index of "l" in "Hello World"

In this example,

  1. We create a string named str with a value of "Hello World".
  2. Next, we define a substring substring with a value of "l" that we want to find the last occurrence of in the main string.
  3. We use the range(of:options:) method of the string str to find the range of the last occurrence of the substring. We specify the .backwards option to search from the end of the string. This method returns an optional range, so we use optional binding (if let) to safely unwrap the result.
  4. If the substring is found, the range constant will hold the range of the substring within the main string. We then calculate the starting index of this range by converting the range's lower bound to an integer offset from the string's start index using the distance(from:to:) method.
  5. Finally, we print the starting index of the last occurrence of the substring within the main string.
  6. If the substring is not found, we print a message indicating that the substring was not found.

Swift Program

import Foundation

let str = "Hello World"
let substring = "l"
if let range = str.range(of: substring, options: .backwards) {
    let index = str.distance(from: str.startIndex, to: range.lowerBound)
    print("The starting index of the last occurrence of \"\(substring)\" is: \(index)")
} else {
    print("Substring \"\(substring)\" not found")
}

Output

The starting index of the last occurrence of "l" is: 9

2 Finding the last occurrence index of "mm" in "Programming Programming"

In this example,

  1. We create a string named str with a value of "Programming Programming".
  2. Next, we define a substring substring with a value of "mm" that we want to find the last occurrence of in the main string.
  3. We use the range(of:options:) method of the string str to find the range of the last occurrence of the substring. We specify the .backwards option to search from the end of the string. This method returns an optional range, so we use optional binding (if let) to safely unwrap the result.
  4. If the substring is found, the range constant will hold the range of the substring within the main string. We then calculate the starting index of this range by converting the range's lower bound to an integer offset from the string's start index using the distance(from:to:) method.
  5. Finally, we print the starting index of the last occurrence of the substring within the main string.
  6. If the substring is not found, we print a message indicating that the substring was not found.

Swift Program

import Foundation

let str = "Programming Programming"
let substring = "mm"
if let range = str.range(of: substring, options: .backwards) {
    let index = str.distance(from: str.startIndex, to: range.lowerBound)
    print("The starting index of the last occurrence of \"\(substring)\" is: \(index)")
} else {
    print("Substring \"\(substring)\" not found")
}

Output

The starting index of the last occurrence of "mm" is: 18

Summary

In this tutorial, we learned How to find the Index of Last Occurrence of Substring in Swift language with well detailed examples.




More Swift Strings Tutorials

  1. How to Create an Empty String in Swift ?
  2. How to get Length of String in Swift ?
  3. How to get Character at Specific Index in String in Swift ?
  4. How to get First Character in String in Swift ?
  5. How to get Last Character in String in Swift ?
  6. How to get First N Characters in String in Swift ?
  7. How to get Last N Characters in String in Swift ?
  8. How to get Substring after Specific Character in Swift ?
  9. How to get Substring before Specific Character in Swift ?
  10. How to get Substring between two Specific Characters in Swift ?
  11. How to get Substring from Specific Index to End in Swift ?
  12. How to Iterate over Characters in String in Swift ?
  13. How to Iterate over Words in String in Swift ?
  14. How to Check if String is Empty in Swift ?
  15. How to Check if String contains only Alphabets in Swift ?
  16. How to Check if String contains only Alphabets and Numbers in Swift ?
  17. How to Check if String contains only Numeric Digits in Swift ?
  18. How to Check if a String contains given Substring in Swift ?
  19. How to Check if String contains specific Character in Swift ?
  20. How to Check if String starts with Specific Prefix in Swift ?
  21. How to Check if String ends with Specific Suffix in Swift ?
  22. How to Append a String to another String in Swift ?
  23. How to Append a Character to beginning of a String in Swift ?
  24. How to Append a Character to end of a String in Swift ?
  25. How to Concatenate Two Strings in Swift ?
  26. How to Repeat a String N Times in Swift ?
  27. How to Insert Character at Specific Index in String in Swift ?
  28. How to Replace a Substring in String in Swift ?
  29. How to Replace multiple Spaces with a Single Space in String in Swift ?
  30. How to Replace Character at Specific Index in String in Swift ?
  31. How to Replace All Occurrences of a Substring in a String in Swift ?
  32. How to Replace a Substring in a String using Regular Expression in Swift ?
  33. How to Split a String in Swift ?
  34. How to Split a String by New Line in Swift ?
  35. How to Split a String by Comma in Swift ?
  36. How to Sort Characters in String in Swift ?
  37. How to convert String to Lowercase in Swift ?
  38. How to convert String to Uppercase in Swift ?
  39. How to Trim a String in Swift ?
  40. How to convert First Character in String to Uppercase in Swift ?
  41. How to Reverse a String in Swift ?
  42. How to Remove Character at specific Index in a String in Swift ?
  43. How to Remove First Character in a String in Swift ?
  44. How to Remove Last Character in a String in Swift ?
  45. How to Remove first N Characters in a String in Swift ?
  46. How to Remove last N Characters in a String in Swift ?
  47. How to Remove specific Substring in Swift ?
  48. How to Remove specific Character from a String in Swift ?
  49. How to Remove All Whitespace Characters from a String in Swift ?
  50. How to Remove Special Characters from a String in Swift ?
  51. How to keep only Alphabets in a String in Swift ?
  52. How to Convert Integer to String in Swift ?
  53. How to Convert String to Integer in Swift ?
  54. How to convert String to Float in Swift ?
  55. How to convert Float to String in Swift ?
  56. How to check if Two Strings are Equal in Swift ?
  57. How to check if Two Strings are Equal ignoring case in Swift ?
  58. How to Compare Two Strings in Swift ?
  59. How to find the Characters in the First String that are not Present in the Second String in Swift ?
  60. How to find the Index of Substring in Swift ?
  61. How to find the Index of Last Occurrence of Substring in Swift ?
  62. How to find the Indices of All Occurrences of Substring in Swift ?
  63. How to get all the possible Substrings of a String in Swift ?
  64. How to get all the possible K length Substrings in a String in Swift ?