Swift 3: Как я могу получить массив из строки

На самом деле я получил строку поля адреса из API, например "District-1 1656-Union-Street Eureka 707-445-6600", поэтому мне нужно преобразовать в массив.

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

["Район-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"]

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

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

Другие вопросы по тегам