Ios 如何在swift 3中去掉没有()或-的电话号码?

Ios 如何在swift 3中去掉没有()或-的电话号码?,ios,swift,Ios,Swift,我遇到了一个问题,我需要在没有()或-的情况下在我的表视图单元格中删除phoneNumber,因此,我想这样看555555,因此当用户单击电话号码时,它应该呼叫该特定号码 这是我的密码: func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { if indexPath.section == 0 { if indexPath.row == 2 { print

我遇到了一个问题,我需要在没有
()
-
的情况下在我的表视图单元格中删除phoneNumber,因此,我想这样看
555555
,因此当用户单击电话号码时,它应该呼叫该特定号码

这是我的密码:

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 }
    } 

您可以使用

let number = phoneNumber.components(separatedBy: CharacterSet.decimalDigits.inverted).joined()

您可以使用

let number = phoneNumber.components(separatedBy: CharacterSet.decimalDigits.inverted).joined()

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

替换:

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


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

替换:

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



您发布的代码都与从字符串中剥离非数字字符无关。我需要一些帮助来剥离这就是为什么。。我是swift的新手,这就是为什么你看不到相关的从字符串中剥离非数字字符的原因。我想你没有领会我的意思。我完全知道你想做什么。我理解你的问题。我只是指出,您的问题是如何从字符串中删除非数字字符。您问题中的任何代码都与此无关。是的。有什么方法可以让我看看它是如何工作的?顺便说一句,你不需要删除这些字符。在构建URL时,您只需正确编码
phoneNumber
的值。您发布的所有代码都与从字符串中删除非数字字符无关。我需要一些帮助来删除这部分内容。。我是swift的新手,这就是为什么你看不到相关的从字符串中剥离非数字字符的原因。我想你没有领会我的意思。我完全知道你想做什么。我理解你的问题。我只是指出,您的问题是如何从字符串中删除非数字字符。您问题中的任何代码都与此无关。是的。有什么方法可以让我看看它是如何工作的?顺便说一句,你不需要删除这些字符。在构建URL时,您只需要正确编码
phoneNumber
的值。因此,这将在
didSelectRow
中实现,对吗?它仍然会给我一个错误:
条件绑定的初始值设定项必须具有可选类型,而不是“字符串”
没有编译错误您必须具有不相关的内容因此,这将在
didSelectRow
中实现,对吗?它仍然会给我一个错误:
条件绑定的初始值设定项必须具有可选类型,而不是“字符串”
没有编译错误您必须有一些不相关的内容都在字符串中吗?因为,我遇到一个错误:
无法在没有参数的情况下调用类型“URL”的初始值设定项
我的答案中的代码编译时没有错误,但我使用的是Xcode 9.4(Swift 4.1)。它现在可以编译了。。只是结尾少了一个引号。非常感谢您的帮助。更重要的是,当电话在真正的设备上运行时,它真的能工作吗?它都是字符串吗?因为,我遇到一个错误:
无法在没有参数的情况下调用类型“URL”的初始值设定项
我的答案中的代码编译时没有错误,但我使用的是Xcode 9.4(Swift 4.1)。它现在可以编译了。。只是结尾少了一个引号。非常感谢您的帮助。更重要的是,当电话在真实设备上运行时,它真的能工作吗?