How to get the nth character of a string in Swift example
Sometimes, It is required to get a particular character from a given string.
You can get using the index in a java programming language.
The same does not work in a swift
let message = "Hello world!"
print(message[0])
It throws an error
main.swift:2:7: error: 'subscript(_:)' is unavailable: cannot subscript String with an Int, use a String.Index instead.
print(message[0])
^~~~~~~~~~
Swift.String:3:12: note: 'subscript(_:)' has been explicitly marked unavailable here
public subscript(i: Int) -> Character { get }
Then, How to get a specific character from a given string.
There are multiple ways we can do
Find nth Character of a String in Swift example
- Convert String to Array using constructor and use index.
This example converts a string to an Array using the constructor. The first character gets retrieved using the index Array[index]
syntax.
Here is an example
let message = "Hello world!"
var first = Array(message)[0]
print(first)// H
You can also create an extension for the String class and provide an implementation for the subscript method.
extension String {
subscript(offset: Int) -> Character { self[index(startIndex, offsetBy: offset)] }
}
let message = "Hello world!"
print(message[0]) //H
print(message[8])// r
- using String.index and String.startIndex
String.index function return the distance from the given index. Here is an example
let message = "Hello world!"
let index = message.index(message.startIndex, offsetBy: 0)
print(message[index])// H
let index1 = message.index(message.startIndex, offsetBy: 1)
print(message[index1])// e
How to get the First and last Characters of a String?
You can write the code as per the above methods.
There is a simple way to do it.
In the version below Swift 5, you can use String. characters class first and last properties
let message = "Hello world"
let first = message.characters.first // print(first) //H
let last = message.characters.last
print(last)// d
In Swift 5, characters are not required. You can directly call first and last on String object.
let message = "Hello world"
let first = message.first
print(first) //H
let last = message.last
print(last)// d
Conclusion
In this tutorial, Learned how to get first, nth and last character in Swift Programming examples