import Foundation
extension NSRange {
/// Swift 3まで用(4になったら消した方が良い)
/// `Range<String.Index>`は4では[RangeExpression](https://developer.apple.com/documentation/swift/rangeexpression)
/// だが3ではないので適当に書き換え
init(_ range: Range<String.Index>, in string: StringLiteralType) {
let utf16 = string.utf16
let from = range.lowerBound.samePosition(in: utf16)
let to = range.upperBound.samePosition(in: utf16)
self.init(location: utf16.distance(from: utf16.startIndex, to: from),
length: utf16.distance(from: from, to: to))
}
}
let x = "( ´・‿・`)"
// UIKitなどのNSRangeを要求するAPIに渡せる(4ではこのイニシャライザーが標準で提供されている)
NSRange(x.range(of: "‿")!, in: x)