Массив символов для строки в Swift

Вывод массива [Character] в настоящее время:

["E", "x", "a", "m", "p", "l", "e"]

Это должно быть:

Example

Может быть, что " находится в массиве, например: """. Этот вывод должен быть ".

Спасибо!

Ответ 1

Другой ответ охватывает случай, когда ваш массив является одним из элементов String (что, скорее всего, имеет место здесь: поскольку вы не предоставили нам тип массива, мы могли бы использовать собственный тип Swift правила вывода для умозрительного вывода типа [String]).

В случае, если элементы вашего массива фактически имеют тип Character, однако вы можете использовать инициализатор последовательности Character String напрямую:

let charArr: [Character] = ["E", "x", "a", "m", "p", "l", "e"]
let str = String(charArr) // Example

W.r.t. ваш комментарий ниже: если ваш примерный массив по какой-то причине является одним из элементов Any (который обычно не рекомендуется использовать явно, но иногда и при получении данных из какого-либо внешнего источника), сначала нужно выполнить попытка преобразования каждого элемента Any в тип String до объединения преобразованных элементов в один экземпляр String. После преобразования вы будете работать с массивом элементов String, и в этом случае методы, показанные в других ответах, будут подходящим методом контентификации:

// e.g. using joined()
let arr: [Any] = ["E", "x", "a", "m", "p", "l", "e"]
let str = arr.flatMap { $0 as? String }.joined()
print(str) // example

Вы также могли бы (попытаться) преобразовать из Any в Character элементы, но даже в этом случае вам придется проходить через экземпляры String, что означает, что для случая [Any] значение joined() альтернатива выше, предпочтительнее, чем ниже:

let arr: [Any] = ["E", "x", "a", "m", "p", "l", "e"]
let str = String(arr.flatMap { ($0 as? String)?.characters.first })
print(str) // example

Ответ 2

Просто используйте joined() с разделителем по умолчанию "":

let joinedString = ["E", "x", "a", "m", "p", "l", "e"].joined()

Ответ 3

let e = ["E", "x", "a", "m", "p", "l", "e"]
print(e.reduce ("", +))