查找字符串中某个字符的出现量的更好方法

时间:2018-09-04 15:57:31

标签: swift cocoa

我正在使用它来查找字符串字符中出现的次数

String(appWindow.title.count - appWindow.title.replacingOccurrences(of: "x​", with: String()).count)

有没有一种方法可以使用更简单的命令?

我试图拆分它,但是即使char不存在,它也总是显示1。

4 个答案:

答案 0 :(得分:3)

一种可能的解决方案:

let string = "xhjklghxhjkjjklxjhjkjxx"

print(string.filter({ $0 == "x" }).count)
// prints: 5

答案 1 :(得分:0)

您可以使用reduce,如果找到字符($0),它将使结果($1)递增

let characterCount = appWindow.title.reduce(0) { $1 == "x" ? $0 + 1 : $0 }

答案 2 :(得分:0)

为什么您可以简单地做这样的事情?

AND c.isDeleted = CASE WHEN @isAdmin = 'False' THEN 0 ELSE c.isDeleted END

但是,正如@Leo Dabus指出的那样,这仅适用于简单的Unicode字符。这是一种可以计算任何单个字符的替代方法:

let str = "Hello, playground"
let characters = CharacterSet(charactersIn: "o")

var count = 0
for c in str.unicodeScalars {
    if characters.contains(c) {
        count += 1
    }
}

print("there are \(count) characters in the string '\(str)'")

答案 3 :(得分:0)

好的回应

我去了

appWindow.title.components(separatedBy: "​x").count - 1