如何计算Swift中排除新行的字符?

Cue*_*Cue 0 string count swift

我想算一下Swift中的字符数.我正在使用此代码

let charsNumber = str.characters.count
Run Code Online (Sandbox Code Playgroud)

它返回字符数和返回值.有没有办法可以算出没有回报的角色?

OOP*_*Per 6

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

let str = "abc\ndef\nghi"
let charsNumber = str.characters.filter {$0 != "\n" && $0 != "\r"}.count
print(charsNumber) //-> 9
Run Code Online (Sandbox Code Playgroud)

如果str非常大,这可能会更有效:

let charsNumber = str.characters.lazy.filter {$0 != "\n" && $0 != "\r"}.count
Run Code Online (Sandbox Code Playgroud)