Как разбить слово на несколько частей по 3 или 5 символов в swift?

Пользователь

от elda , в категории: Swift , 15 дней назад

Как разбить слово на несколько частей по 3 или 5 символов в swift?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от dorothea_stoltenberg , 13 дней назад

@elda 

Можно использовать метод suffix для получения подстроки определенной длины и цикл для повторения этого процесса на всю строку:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
let word = "abcdefg"
let chunkSize = 3 // или 5

var chunks = [String]()
var startIndex = 0

while startIndex < word.count {
    let endIndex = min(startIndex + chunkSize, word.count)
    let chunk = word.suffix(word.count - startIndex).prefix(endIndex - startIndex)
    chunks.append(String(chunk))
    startIndex += chunkSize
}

print(chunks) // ["abc", "def", "g"]


В этом примере мы объявляем строку "abcdefg" и определяем размер кусков как 3 или 5 символов. Затем мы создаем массив для хранения результирующих кусков и устанавливаем начальный индекс в 0.


Затем мы начинаем цикл, который продолжается, пока начальный индекс меньше длины строки. Внутри цикла мы вычисляем конечный индекс путем добавления размера куска к начальному индексу, но при этом ограничиваем его длиной строки, чтобы не получить ошибку "Index out of range". Затем мы получаем подстроку с помощью метода suffix и prefix, добавляем ее в массив кусков и увеличиваем начальный индекс на размер куска.


В результате мы получаем массив кусков ["abc", "def", "g"], соответствующий нашему исходному слову.