30 lines
766 B
Swift
30 lines
766 B
Swift
import Foundation
|
||
|
||
class PlateNumber {
|
||
private static let lettersMap: [Character: Character] = [
|
||
"А": "A", "В": "B", "Е": "E", "К": "K", "М": "M", "Н": "H", "О": "O", "Р": "P", "С": "C", "Т": "T", "У": "Y", "Х": "X"
|
||
]
|
||
|
||
private var number: String
|
||
private var numberEnglish: String
|
||
|
||
init(_ string: String) {
|
||
self.number = string
|
||
self.numberEnglish = String(self.number.map { PlateNumber.lettersMap[$0] ?? $0 })
|
||
}
|
||
|
||
func asString() -> String {
|
||
return self.number
|
||
}
|
||
|
||
func mainPart() -> String {
|
||
let index = self.numberEnglish.startIndex(offsetBy: 6)
|
||
return String(self.numberEnglish[..<index])
|
||
}
|
||
|
||
func region() -> String {
|
||
let index = self.numberEnglish.startIndex(offsetBy: 6)
|
||
return String(self.numberEnglish[index...])
|
||
}
|
||
}
|