Swift – Remove a Character in String at Specific Index

To remove a character in string at specific index in Swift, use the String method String.remove().

A simple code snippet to demonstrate how to use String.remove() method

</>
Copy
str1.remove(at: i)

where str1 is the string and i is the index. i is of type String.Index. remove() method removes character at index i in the string str1 and returns this removed character.

Examples

In the following program, we will take a string str1, and remove the character at position i=6 using String.remove() method.

Please observe that we have to give the position as String.Index to remove() method.

main.swift

</>
Copy
var str1 = "Hello World!"
print("Original string       : \(str1)")

var i = str1.index(str1.startIndex, offsetBy: 6)
var removed = str1.remove(at: i)
print("String after remove() : \(str1)")
print("Character Removed : \(removed)")

Output

Original string       : Hello World!
String after remove() : Hello orld!
Character Removed : W

The character W has been removed at position 6 in the string str1.

Example 2 – Index Out of Bounds

If the position at which we would like remove the character, is out of bounds for the string, then Fatal error occurs with the message “String index is out of bounds”.

In the following program, we take a string of length 11. But, we try to remove the character at position 16. This causes a Fatal error.

main.swift

</>
Copy
var str1 = "Hello World!"
print("Original string       : \(str1)")

var i = str1.index(str1.startIndex, offsetBy: 16)
var removed = str1.remove(at: i)
print("String after remove() : \(str1)")
print("Character Removed : \(removed)")

Output

Original string       : Hello World!
Fatal error: String index is out of bounds: file Swift/StringCharacterView.swift, line 60
2021-02-12 11:48:49.950818+0530 HelloWorld[1575:92958] Fatal error: String index is out of bounds: file Swift/StringCharacterView.swift, line 60

Conclusion

In this Swift Tutorial, we learned how to remove the character in string at specific position using String.remove() method, with the help of example programs.