从String中提取特定的字符串模式(swift 2)

时间:2017-09-25 11:15:19

标签: swift swift2

我有一个应用程序可以检测用户从应用程序或使用OCR从现有图像获取的任何图像中的文本。这是有效的,但如果图像有许多不符合数字的数字设置我想要的,那么一切都将被检测到。所以我想从检测到的文本字符串中提取始终具有模式的数字

举个例子, 我的字符串可以是这样的,

" 3456 7834 5623 iuhef654sca 869878zsc ttv"

我想只获得" 3456 7834 5623"部分来自上面的字符串。其中有两个空格,三组四位数。我是怎么做到的?完成它的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

你可以使用正则表达式"(\\ 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"
}