我有一个应用程序,它可以检测用户从应用程序或使用OCR从现有图像中获取的任何图像中的文本。这是工作,但如果图像有很多unnessary数字与我想要的数字集,一切都会被检测到。所以我想提取的数字,总是有一个模式,从检测到的文本字符串,举个例子,我的字符串可以是这样的,”电话:3456 7834 5623我只想从上面的字符串中得到“3456 7834 5623”部分。它有两个空格,三组4位数。我是怎么做到的?什么是最好的方法来完成它?
f2uvfpb91#
您可以使用正则表达式模式“(\d){4}(\d){4}(\d){4}”,如下所示:
let string = "3456 7834 5623 iuhef654sca 869878zsc ttv" let pattern = "(\\d){4} (\\d){4} (\\d){4}" if let range = string.range(of: pattern, options: .regularExpression) { print(string[range]) // "3456 7834 5623\n" }
1条答案
按热度按时间f2uvfpb91#
您可以使用正则表达式模式“(\d){4}(\d){4}(\d){4}”,如下所示: