Swift – 如何判断一个字符串是否包含多个相同的字符?

ARG*_*Geo 0 swift

这是一个简单的代码,让我们找出一个字符串是否包含一个dot字符(我们不知道有多少个,我们只知道它包含它):

var number: String = "3.14"

if number.contains(".") {
    print("The string contains a dot character")
} else {
    print("There's no dot character")
}
Run Code Online (Sandbox Code Playgroud)

但想象一下用户错误地将 2 或 3 个点排成一行的情况,如下所示:

var number: String = "3...14"
Run Code Online (Sandbox Code Playgroud)

如何判断一个字符串包含一个dot还是多个?

如何计算字符串中所有的点?

vac*_*ama 5

filter(_:)您可以在字符串上使用andcount来获取点数:

let str = "3..14"

switch str.filter({ $0 == "." }).count {
case 0:
    print("string has no dots")
case 1:
    print("string has 1 dot")
default:
    print("string has 2 or more dots")
}
Run Code Online (Sandbox Code Playgroud)