thieumao

extension String

Jan 4th, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.80 KB | None | 0 0
  1. extension String {
  2.     subscript(i: Int) -> String {
  3.         guard i >= 0 && i < characters.count else { return "" }
  4.         return String(self[index(startIndex, offsetBy: i)])
  5.     }
  6.     subscript(range: Range<Int>) -> String {
  7.         let lowerIndex = index(startIndex, offsetBy: max(0,range.lowerBound), limitedBy: endIndex) ?? endIndex
  8.         return substring(with: lowerIndex..<(index(lowerIndex, offsetBy: range.upperBound - range.lowerBound, limitedBy: endIndex) ?? endIndex))
  9.     }
  10.     subscript(range: ClosedRange<Int>) -> String {
  11.         let lowerIndex = index(startIndex, offsetBy: max(0,range.lowerBound), limitedBy: endIndex) ?? endIndex
  12.         return substring(with: lowerIndex..<(index(lowerIndex, offsetBy: range.upperBound - range.lowerBound + 1, limitedBy: endIndex) ?? endIndex))
  13.     }
  14. }
Advertisement
Add Comment
Please, Sign In to add comment