gpt4 book ai didi

ios - 检查字符串中是否存在电话号码

转载 作者:搜寻专家 更新时间:2023-10-30 21:51:00 25 4
gpt4 key购买 nike

嘿,我想检查 UITextView(也许这可能相关或不相关)是否在文本中包含电话号码。我正在使用 Swift 2.3,但如果您在 Swift 3 中获得它,我会尝试翻译它。

例如应该适用于这些输入:

  • “早上好,627137152”
  • “早上好,+34627217154”
  • “早上好,627 11 71 54”

最后一种情况很简单,如果其他方法有效,只需将出现的“”替换为“”并检查前面的函数包含电话。

我试过这个解决方案,但不适用于第一种情况:( Find phone number in string - regular )

谢谢。

最佳答案

NSDataDetector提供了一种方便的方法来做到这一点:

let string = "Good morning, 627137152 \n Good morning, +34627217154 \n Good morning, 627 11 71 54"

do {
let detector = try NSDataDetector(types: NSTextCheckingResult.CheckingType.phoneNumber.rawValue)
let numberOfMatches = detector.numberOfMatches(in: string, range: NSRange(string.startIndex..., in: string))
print(numberOfMatches) // 3
} catch {
print(error)
}

或者如果你想提取数字

let matches = detector.matches(in: string, range: NSRange(string.startIndex..., in: string))

for match in matches{
if match.resultType == .phoneNumber, let number = match.phoneNumber {
print(number)
}
}

关于ios - 检查字符串中是否存在电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44042344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com