// // StringExtension.swift // GMERemittance // // Created by Sujal on 12/13/17. // Copyright © 2017 Gobal Money Express Co. Ltd. All rights reserved. // import Foundation extension String { var imageURLInResource: String { switch self { case "001": return "ic_cap" case "002": return "ic_tshirt" case "003": return "ic_glass" case "004": return "ic_watch" default: return "" } } var isBlank: Bool { return trimmingCharacters(in: CharacterSet.whitespacesAndNewlines).isEmpty } func toBase64() -> String { let data = self.data(using: String.Encoding.utf8) return data!.base64EncodedString() } func removeWhitespacesInBetween() -> String { return components(separatedBy: .whitespaces).joined() } func stringRemovingComma() -> String { return components(separatedBy: ",").joined() } func getDateFromDateTime() -> String { return components(separatedBy: .whitespaces)[0] } func removeSpacesTrailingPreceding() -> String { return trimmingCharacters(in: CharacterSet.whitespacesAndNewlines) } } extension String { func likeCommaMoney() -> String? { if Int(self) == nil { return nil } return Utility.getCommaSeperatedString(numberString: self) } func isEmail() -> Bool { let emailRegEx = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}" let emailPred = NSPredicate(format:"SELF MATCHES %@", emailRegEx) return emailPred.evaluate(with: self) } func extract(regex: String) -> String { do { let regex = try NSRegularExpression(pattern: regex) let nsString = self as NSString let results = regex.matches(in: self, range: NSRange(location: 0, length: nsString.length)) return results.map { nsString.substring(with: $0.range)}.joined() } catch let error { print("invalid regex: \(error.localizedDescription)") return self } } }