如何在3中快速删除不带()或-的电话号码?

时间:2018-06-23 23:04:06

标签: ios swift

我遇到一个问题,我需要在没有()-的表视图单元格上删除phoneNumber,因此,我想这样查找5555555555,因此当用户点击电话号码,它应该拨打该特定电话号码。

这是我的代码:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    if indexPath.section == 0 {
      if indexPath.row == 2 {

        print("its working...")

        guard let phoneNumber = self.place.phoneNumber,
          phoneNumber.count > 0,

          let url = URL(string: "tel:\(phoneNumber)")

          else { return }

        if UIApplication.shared.canOpenURL(url) {
          UIApplication.shared.open(url, options: [:], completionHandler: nil)
        }
      } else { return }
    } 

2 个答案:

答案 0 :(得分:2)

您的目标是创建一个有效的tel: URL。您不需要删除电话号码的格式。您只需要适当地转义特殊字符即可。

替换:

let url = URL(string: "tel:\(phoneNumber)")

具有:

let url = URL(string: "tel:\(phoneNumber.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed)!)")

答案 1 :(得分:0)

您可以使用

从字符串中删除数字
let number = phoneNumber.components(separatedBy: CharacterSet.decimalDigits.inverted).joined()