我已经搜索了全部。我想计算文本字段中的单词数。有很多针对字符的解决方案,但没有针对单词的解决方案。 请提供。
谢谢。
答案 0 :(得分:1)
为此,将UITextFieldDelegate设置为视图控制器并实现方法:-
myTextfield.delegate = self // In Your View Controller
然后
extension myViewController : UITextFieldDelegate {
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if let _ = textField.text{
let text = textField.text! as NSString
let fullText = text.replacingCharacters(in: range, with: string)
let wordCount = fullText.components(separatedBy: " ").count
print(wordCount)
}
return true
}
}
答案 1 :(得分:0)
将textfield值放入字符串中,并用“”空格分隔符计数
let text: String = textfieldvalue
print(text.componentsSeparatedByString(" ").count)
答案 2 :(得分:0)
尝试使用此解决方案查找UITextField
中的单词数,而无需将任何委托设置为UITextField
。只需从UITextField
中取出Xib
的已编辑Changed事件出口,然后全部设置即可。检查下面的图像。
然后只需为出口方法添加以下代码即可。
@IBAction func tfEditingChanged(_ sender: UITextField) {
if let string = sender.text {
let st1 = string.trimmingCharacters(in: .whitespacesAndNewlines)
if !st1.isEmpty { // Prints number of words.
print("count words= \(st1.components(separatedBy: " ").count)")
}
else {
print("count words = 0")
}
}
}
如果您不以编程方式使用Xib
,也可以注册editingChanged
的{{1}}事件,如下所示。
UITextField
希望这会有所帮助。