Guest User

Untitled

a guest
Nov 13th, 2018
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. import Foundation
  2.  
  3. extension NSRange {
  4. static func rangeOf(text: String, contains searchKey: String, with filterCharacters: [Character]?) -> NSRange {
  5.  
  6. var filter = "[ ]{0,1}("
  7. filterCharacters?.forEach { filterCharacter in
  8. filter += "\\" + String(filterCharacter)
  9. if let lastCharacter = filterCharacters?.last, lastCharacter != filterCharacter {
  10. filter += "|"
  11. }
  12. }
  13. filter += "){0,1}[ ]{0,1}"
  14.  
  15. var regex = ""
  16. searchKey.forEach { character in
  17. regex += "[" + String(character) + "]{1}"
  18. if let lastCharacter = searchKey.last, character != lastCharacter {
  19. regex += filter
  20. }
  21. }
  22. print(regex)
  23. return (text as NSString).range(of: regex, options: .regularExpression, range: NSRange(location: 0, length: text.length), locale: nil)
  24. }
  25. }
  26.  
  27. let string = "MDX6"
  28. let plate = "AM / DX6044"
  29. let filter: [Character] = ["-", "/"]
  30.  
  31. let range = NSRange.rangeOf(text: plate, contains: string, with: filter)
  32. print(range)
Add Comment
Please, Sign In to add comment