Convert Range to Range<String.Index> object
//
// Range+RangeIntToRangeStringIndex.swift
//
// Created by Artem Krachulov.
// Copyright (c) 2016 Artem Krachulov. All rights reserved.
// Website: http://www.artemkrachulov.com/
//
import UIKit
/// Convert Range<Int> to Range<String.Index> object.
///
/// Usage:
///
/// let str = "Hello World!"
/// let toRangeStringIndex = converRangeIntToRangeStringIndex(str, range: 6..<11) // 6..<11
public func RangeIntToRangeStringIndex(str: String, range: Range<Int>) -> Range<String.Index>? {
guard range.startIndex <= str.characters.count && range.endIndex <= str.characters.count else {
return nil
}
return Range<String.Index>(str.startIndex.advancedBy(range.startIndex)..<str.startIndex.advancedBy(range.endIndex))
}