检查一个字符串是否包含在文本字段中

3
如何检查一个字符串(例如“apple”)是否包含在 UITextField 中输入的文本(例如“p”或“pp”)。 如果字符串包含 UITextField 的文本,则我想要打印一条消息,例如:“apple 包含 pp”。

1
尝试这个:https://dev59.com/nWAg5IYBdhLWcg3wDHQ3 - Pet Rat
2个回答

3
你可以这样实现:
class youClass: NSObject {
  var yourTextFieldName = UITextField()

   func someMethod() {
     var apple = "apple"
     if apple.containsString(self.yourTextfieldName.text!) {
        print("apple contains \(self.yourTextfieldName.text!)")
     }
   }
}

很高兴能帮到你,@NoNameL。祝你编程愉快。 - Akshansh Thakur

0
你可以扩展 String:
extension String {
  @discardableResult
  func containsText(of textField: UITextField) -> Bool {
    // Precondition
    guard let text = textField.text else { return false }

    let isContained = self.contains(text)
    if isContained { print("\(self) contains \(text)") }
    return isContained
  }
}

与其仅仅打印结果,它还返回一个Bool,指示是否在String中包含textFieldtext @discardableResult 属性允许您忽略返回值,而不会生成编译器警告。

您也可以采用反向方法,通过扩展UITextField来实现:

extension UITextField {
  @discardableResult
  func textIsContained(in target: String) -> Bool {
    // Precondition
    guard let text = self.text else { return false }

    let isContained = target.contains(text)
    if isContained { print("\(target) contains \(text)") }
    return isContained
  }
}

您可按以下方式使用这些方法:

// Your `UITextField`
let textField = UITextField()
textField.text = "pp"

// String extension:
"apple".containsText(of: textField) // returns `true` and prints "apple contains pp"

// UITextField extension:
textField.textIsContained(in: "apple") // returns `true` and prints "apple contains pp"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接