Swift4でString型を拡張して、多言語のようにInt型で文字列の部分列を取得できるようにするものです。
よかったら使ってください。
import Foundation extension String { func getString(startIndex: Int, count: Int) -> String { var count = count //指定された開始位置のインデックスを取得 let sIndex: Index = self.index(self.startIndex, offsetBy: startIndex) //目的の文字列の残りの長さを取得 let length: Int = self.distance(from: sIndex, to: self.endIndex) //指定された文字数と、残りの文字数を比較して文字数を超えないように調整 if count > length { count = length } //返す文字列の最後のインデックスを計算 let eIndex: Index = self.index(sIndex, offsetBy: count) return String(self[sIndex..<eIndex]) } }