@@ -37,31 +37,31 @@ public extension String {
3737 }
3838
3939 public subscript( i: Int ) -> Character {
40- return self [ self . characters . index ( self . startIndex, offsetBy: i) ]
40+ return self [ self . index ( self . startIndex, offsetBy: i) ]
4141 }
4242
4343
4444 public func substring( _ startIndex: Int , length: Int ) -> String {
45- let start = self . characters . index ( self . startIndex, offsetBy: startIndex)
46- let end = self . characters . index ( start, offsetBy: length)
47- return self . substring ( with : start..< end)
45+ let start = self . index ( self . startIndex, offsetBy: startIndex)
46+ let end = self . index ( start, offsetBy: length)
47+ return String ( self [ start..< end] )
4848 }
4949
5050 public func indexOf( _ target: String ) -> Int ? {
5151 guard let range = self . range ( of: target) else { return nil }
52- return self . characters . distance ( from: self . startIndex, to: range. lowerBound)
52+ return self . distance ( from: self . startIndex, to: range. lowerBound)
5353 }
5454
5555 public func indexOf( _ target: String , startIndex: Int ) -> Int ? {
56- let startRange = self . characters . index ( self . startIndex, offsetBy: startIndex)
56+ let startRange = self . index ( self . startIndex, offsetBy: startIndex)
5757 guard let range = self . range ( of: target, options: NSString . CompareOptions. literal, range: startRange..< self . endIndex)
5858 else { return nil }
59- return self . characters . distance ( from: self . startIndex, to: range. lowerBound)
59+ return self . distance ( from: self . startIndex, to: range. lowerBound)
6060 }
6161
6262 public func lastIndexOf( _ target: String ) -> Int ? {
6363 guard let range: Range < Index > = self . range ( of: target, options: . backwards) else { return nil }
64- return self . characters . distance ( from: self . startIndex, to: range. lowerBound)
64+ return self . distance ( from: self . startIndex, to: range. lowerBound)
6565 }
6666
6767 public func isMatch( _ regex: String , options: NSRegularExpression . Options ) -> Bool {
0 commit comments