withRangeFromString