How to fetch words from text with regex in Swift iOS? -


i have string:

let inputtext:string = "myemail_at_gmail.com_organizer@company.com" 

i want in output: myemail@gmail.com

so need write 1st pattern matches rule:

<email_prefix>_at_<domain>_organizer@company.com

after can combine:

<email_prefix>@<domain>

i use following class:

class regex {     let internalexpression: nsregularexpression     let pattern: string      init(_ pattern: string) {         self.pattern = pattern         var error: nserror?         self.internalexpression = nsregularexpression(pattern: pattern, options: .caseinsensitive, error: &error)!     }      func test(input: string) -> bool {         let matches = self.internalexpression.matchesinstring(input, options: nil, range:nsmakerange(0, count(input)))         return matches.count > 0     } } 

and regex syntax:

if regex("^\\w+_at_\\w+_organizer@company.com$") // id doesn't work     .test(inputtext) {     let result:string = inputtext.split("_at_")[0] + "@" + inputtext.split("_at_")[1].split("_organizer@company.com")[0]  }   

this 1 doesn't work: "^\\w+_at_\\w+_organizer@company.com$"

this 1 works not completed: "\\w+_organizer@company.com$"

please help,

ok, found solution:

since work email, need validate email name , email domain separatly:

let inputtext:string = "myemail_at_gmail.com_organizer@company.com"      if regex("^[a-z0-9a-z._%+-]+_at_[a-za-z0-9.-]+\\.[a-za-z]{2,4}_organizer@company.com$")     .test(inputtext) {           let result:string = inputtext.split("_at_")[0] + "@" +                         inputtext.split("_at_")[1].split("_organizer@company.com")[0]         print(result) // myemail@gmail.com } 

Comments

Popular posts from this blog

How to provide Authorization & Authentication using Asp.net, C#? -

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

How to use Authorization & Authentication in Asp.net, C#? -