rust,4 lines
\nimpl Solution {\n    pub fn num_unique_emails(emails: Vec<String>) -> i32 {\n        emails.iter().map(|e| {\n            e.chars().take_while(|&e| e != \'+\'
```\nimpl Solution {\n    pub fn num_unique_emails(emails: Vec<String>) -> i32 {\n        emails.iter().map(|e| {\n            e.chars().take_while(|&e| e != \'+\' && e != \'@\').filter(|&e| e != \'.\')\n                .chain(e.chars().skip_while(|&e| e != \'@\')).collect::<String>()\n        }).collect::<std::collections::HashSet<_>>().len() as i32\n    }\n}\n```
[]