如何计算字符不包括Swift中的新线条



我想计算swift中的字符数。我正在使用此代码

let charsNumber = str.characters.count

它返回字符和返回的数量。有什么办法可以仅计算字符而没有返回?

您可以使用filter(isIncludedIn:)从序列中排除某些内容:

let str = "abcndefnghi"
let charsNumber = str.characters.filter {$0 != "n" && $0 != "r"}.count
print(charsNumber) //-> 9

如果str很大,则可能会更有效:

let charsNumber = str.characters.lazy.filter {$0 != "n" && $0 != "r"}.count

您可以使用:

str.replacingOccurrences(of: "n", with: "", options: String.CompareOptions(rawValue: 0), range: nil).characters.count

您还可以使用字符串方法Enumeratelines总结字符串线的字符计数如下:

let str = "abcnabcnabcn"
var charsNumber = 0
str.enumerateLines { line, _ in charsNumber += line.characters.count }
print(charsNumber)   // 9

最新更新