0

我有以下字符串:

var strOfCharToSort = "azcdczbdxaaczdbbaazdz"

但我正在尝试计算不同子字符串的数量

例如:

let countofA = strOfCharToSort.filter { $0 == "a" }.count

它有效,但我不知道我正在加载的字符串中有哪些子字符串

我可以对字符串进行排序:

strOfCharToSort = String(strOfCharToSort.sorted()) \\ result: aaaaabbbcccddddxzzzzz

但是我对伙计们的问题是,如果找到不同的子字符串,有一种方法可以拆分字符串吗?

我真的很感谢你的帮助。

4

2 回答 2

0

尝试这个

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
于 2019-07-26T06:00:30.137 回答
0
let strOfCharToSort = "azcdczbdxaaczdbbaazdz"
let setOfChars = Set(strOfCharToSort)
let setOfCharsArray = Array(setOfChars).sorted()
let listOfSortedCharSubstrings = setOfCharsArray.map { (charachter) in
    return strOfCharToSort.filter { $0 == charachter }
}

这是获取已排序字符数组的子字符串的解决方案。

于 2019-07-10T19:58:53.203 回答