29 lines
830 B
Swift
29 lines
830 B
Swift
//
|
|
// StringExtension.swift
|
|
// nirvana-ios
|
|
//
|
|
// Created by Arjun Patel on 12/20/21.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
extension String {
|
|
func matchingStrings(regex: String) -> [[String]] {
|
|
guard let regex = try? NSRegularExpression(pattern: regex, options: []) else { return [] }
|
|
let nsString = self as NSString
|
|
let results = regex.matches(in: self, options: [], range: NSMakeRange(0, nsString.length))
|
|
return results.map { result in
|
|
(0..<result.numberOfRanges).map {
|
|
result.range(at: $0).location != NSNotFound
|
|
? nsString.substring(with: result.range(at: $0))
|
|
: ""
|
|
}
|
|
}
|
|
}
|
|
|
|
var digits: String {
|
|
return components(separatedBy: CharacterSet.decimalDigits.inverted)
|
|
.joined()
|
|
}
|
|
}
|