Advertisement
neetrath

Untitled

Oct 6th, 2022
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | Source Code | 0 0
  1. /**
  2. Format the current string into the desired pattern.
  3. - Parameters:
  4. - mask: A format of the mask. e.g. "XXX-XXXX"
  5. - Returns: A result string after formatted.
  6. */
  7. func format(mask: String) -> String {
  8. let numbers = replacingOccurrences(of: "[^0-9]", with: "", options: .regularExpression)
  9. var result = ""
  10. var index = numbers.startIndex // numbers iterator
  11.  
  12. // iterate over the mask characters until the iterator of numbers ends
  13. for ch in mask where index < numbers.endIndex {
  14. if ch == "X" {
  15. // mask requires a number in this place, so take the next one
  16. result.append(numbers[index])
  17.  
  18. // move numbers iterator to the next index
  19. index = numbers.index(after: index)
  20.  
  21. } else {
  22. result.append(ch) // just append a mask character
  23. }
  24. }
  25. return result
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement