2016-12-30 9 views
0

На самом деле, я получил строку поля адреса из api, например «District-1 1656-Union-Street Eureka 707-445-6600», поэтому мне нужно преобразовать в массив ,Swift 3: Как я могу получить массив из строки

Ожидаемый результат:

[ "район-1", "1656-Союз-стрит", "Эврика", "707-445-6600"]

Как я могу получить Массив из метода components с использованием пространства в качестве разделителя.

//Code 
var getAddress = addInfo.components(separatedBy: " ") 

//Result 
["District-1", "", "", "1656-Union-Street", "", "", "Eureka", "", "707-445-6600"] 

Но проблема в том, что он также вернет пустой объект.

ответ

1

Вы можете применить метод split для выполнения задачи.

Для т.е.

var addInfo = "District-1 1656-Union-Street Eureka 707-445-6600" 
var getAddress = addInfo.characters.split(separator: " ", omittingEmptySubsequences: true).map(String.init) 

//Result 
["District-1", "1656-Union-Street", "Eureka", "707-445-6600"] 

omittingEmptySubsequences: Если ложь, пустая подпоследовательность возвращается в результате для каждой последовательной пары разделительных элементов в коллекции и для каждого экземпляра Сепаратор на начало или конец коллекция. Если true, возвращаются только непустые подпоследовательности. Значение по умолчанию равно true.

Для получения дополнительной информации, пожалуйста, просмотрите link