这是一个简单的代码,可以让我们找出一个字符串是否包含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
还是几个?
如何计算字符串中的所有点?
答案 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")
}