Swift 5: определить все разные подстроки в строке
У меня есть следующая строка:
var strOfCharToSort = "azcdczbdxaaczdbbaazdz"
но я пытаюсь получить количество различных подстрок
например:
let countofA = strOfCharToSort.filter { $0 == "a" }.count
и это работает, но я не знаю, какие подстроки в строке я загружаю
Я могу отсортировать строку:
strOfCharToSort = String(strOfCharToSort.sorted()) \\ result: aaaaabbbcccddddxzzzzz
Но мой вопрос к парням есть способ разбить строку, когда, если находит другую подстроку?
Я очень ценю вашу помощь.
2 ответа
Попробуй это
let StringOfChar = "azcdczbdxaaczdbbaazdz"
let SetOfAllChar = Set(StringOfChar)
for char in SetOfAllChar {
let countofChar = StringOfChar.filter { $0 == char }.count
print("Count of \(char) : \(countofChar)")
}
Выход:
Count of d: 4
Count of z: 5
Count of c: 3
Count of b: 3
Count of a: 5
Count of x: 1
let strOfCharToSort = "azcdczbdxaaczdbbaazdz"
let setOfChars = Set(strOfCharToSort)
let setOfCharsArray = Array(setOfChars).sorted()
let listOfSortedCharSubstrings = setOfCharsArray.map { (charachter) in
return strOfCharToSort.filter { $0 == charachter }
}
Это решение для получения подстрок отсортированного массива символов.