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

Swift 检查字符串是否在文本字段中包含文本,swift,string,textfield,Swift,String,Textfield,如何检查字符串(例如“apple”)是否包含我在UITextField中键入的文本(例如“p”或“pp”)。 如果字符串包含UITextField的文本,我想打印一条消息-例如:“apple包含pp”,您可以这样实现 class youClass: NSObject { var yourTextFieldName = UITextField() func someMethod() { var apple = "apple" if apple.containsStr

如何检查
字符串
(例如
“apple”
)是否包含我在
UITextField中键入的文本(例如
“p”
“pp”
)。

如果
字符串
包含
UITextField
文本
,我想打印一条消息-例如:
“apple包含pp”

,您可以这样实现

class youClass: NSObject {
  var yourTextFieldName = UITextField()

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

您可以扩展
字符串

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
,指示
textField
text
是否包含在
字符串中。
@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"

“很高兴我能帮上忙,”诺纳梅尔说。快乐编码