【发布时间】:2015-04-28 08:46:52
【问题描述】:
我遇到了一个字符串到数字的问题,我需要几天时间才能解决。所以这一切都始于我的应用程序,它涉及从地址簿中获取电话号码并拨打电话。一切正常,直到我注意到一些电话号码导致我的程序崩溃。
一段时间后,我终于发现他们正在为其中有空格的电话号码而崩溃,这终于说得通了,因为即使它是一个电话号码,我也使用 NSURL 来调用“tel://(555 ) 555 5555" 之间有一个空格会使 URL 无效,从而导致我的程序崩溃。
现在我很高兴我解决了第二个问题,并决定做一个简单的字符替换,用“-”替换所有空格。这适用于我测试过的测试字符串,一切看起来都很好。我决定将它与我的代码挂钩,然后我的程序仍然崩溃。
然后我进行了一些调试,发现即使我的测试用例有效,我从 iOS 通讯录中提取的电话号码也没有替换空格。似乎用于分隔电话数字的任何字符都不是空格,或者至少不是我可以像这样简单输入的空格->“”
知道如何解决这个问题吗?要么(1)知道这个不可见字符到底是什么并替换它,要么(2)有没有办法将电话号码提取为所有数字而不是额外的字符“+(。)-”或这里的任何选项?
【问题讨论】:
标签: ios string swift nsurl addressbook