In Swift 4, I\'m getting this error when I try to take a Substring
of a String
using subscript syntax.
\'subscript\' is unavaila
"palindrome"[1..<3]
and "palindrome"[1...3]
, use these extensions.Swift 4
extension String {
subscript (bounds: CountableClosedRange) -> String {
let start = index(startIndex, offsetBy: bounds.lowerBound)
let end = index(startIndex, offsetBy: bounds.upperBound)
return String(self[start...end])
}
subscript (bounds: CountableRange) -> String {
let start = index(startIndex, offsetBy: bounds.lowerBound)
let end = index(startIndex, offsetBy: bounds.upperBound)
return String(self[start..
Swift 3
For Swift 3 replace with return self[start...end]
and return self[start..
String.Index
.This is the documentation that Xcode error refers to.
More on String encodings like UTF-8 and UTF-16