首先,道歉 - 这一切都是新的。
我正在尝试将用户输入的任何文本带到UITextField,看看它是否包含某个字母,然后计算该字母输入的次数。
因此,例如,如果字符串是“你好”,我希望它返回,如果喜欢,则返回两个l。我不希望它区分大小写。
谢谢!
答案 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"