Swift –如何找出一个字符串是否包含几个相同的字符?

时间:2019-07-14 12:55:57

标签: swift

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

var number: String = "3.14"

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

但是请设想一下用户错误地将2或3个点放在一行中的情况,如下所示:

var number: String = "3...14"

如何检查一个字符串包含一个dot还是几个?

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

1 个答案:

答案 0 :(得分:2)

您可以在字符串上使用filter(_:),并在count上获取点数:

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")
}