I am using the following code to get a String substring from an NSRange:
String
NSRange
func substring(with nsrange: NSRange) -> String? {
Use Range(_, in:) to convert an NSRange to a Range in Swift 4.
extension String { func substring(with nsrange: NSRange) -> Substring? { guard let range = Range(nsrange, in: self) else { return nil } return self[range] } }