在swift中,如何查看UITextField中是否存在特定字符?

时间:2015-04-27 14:15:55

标签: swift

首先,道歉 - 这一切都是新的。

我正在尝试将用户输入的任何文本带到UITextField,看看它是否包含某个字母,然后计算该字母输入的次数。

因此,例如,如果字符串是“你好”,我希望它返回,如果喜欢,则返回两个l。我不希望它区分大小写。

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以尝试使用此扩展程序:

extension String
{
    func numberOfChars(char:Character) -> Int
    {
        var counter = 0
        for chr in self
        {
            if chr == char
            {
                counter++
            }
        }
        return counter
    }
}

然后使用它:

println(textField.text.numberOfChars(Character("a")))

答案 1 :(得分:0)

要检查用户何时在UITextField中输入了文本,您可以使用:addObserver到UITextField并使用observeValueForKeyPath创建方法。在此方法中,您可以使用计算字符数:

let someString = "Hello"
let count = Array(someString).map { $0 == "l" }.filter { $0 == true }.count

使用像Dejan Skledar这样的扩展建议:

extension String {
    func numberOfChars(char: Character) -> Int {
        return Array(someString).map { $0 == "l" }.filter { $0 == true }.count
    }
}

并使用它:

println(textField.text.numberOfChars("l") // prints "3"