检查字符串是否包含文本字段中的文本

Checking if a string contains a text in a textfield

如何检查 String(例如 "apple")是否包含我在 UITextField(例如 "p""pp").
如果 String 包含 UITextFieldtext,我想打印一条消息 - 例如:"apple contains pp".

你可以这样实现

class youClass: NSObject {
  var yourTextFieldName = UITextField()

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

您可以扩展 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
  }
}

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

您也可以采取相反的方法,通过扩展 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"