2011-08-06 32 views
1

我在下面的格式獲得電子郵件地址列表中的一個servlet作爲一個參數從請求:如何解析此字符串以提取電子郵件地址?

,Group 4: [[email protected],[email protected]],,Group 4: [[email protected]],,Group 3: [],,Group 2: 
[[email protected],[email protected],[email protected],[email protected],[email protected]],,Group 1: 
[[email protected],[email protected],[email protected]],,Nirmal testGroup: [[email protected]], 

我怎麼能分析所有不同的電子郵件地址從這個Java中?

組名並不重要。此外,組名不一定總是作爲組1,組3,它可以是任何包含空格的組。只需要有來自字符串的所有唯一電子郵件地址的列表/數組。

回答

2

使用regex挑出([])方括號中的一切,那麼每個那些對逗號split

String example = ",Group 4: [[email protected],[email protected]],,Group 4: [[email protected]],,Group 3: [],,Group 2:\n" + 
         "[[email protected],[email protected],[email protected],[email protected],[email protected]],,Group 1: \n" + 
         "[[email protected],[email protected],[email protected]],,Nirmal testGroup: [[email protected]],"; 
Pattern pattern = Pattern.compile("\\[(.*?)\\]"); 
Matcher matcher = pattern.matcher(example); 
while (matcher.find()) { 
    for (String email : matcher.group(1).split(",")) { 
     System.out.println(email); 
    } 
} 
+0

你能建設正則表達式,因爲我不以前那麼使用正則表達式的任何幫助不知道該怎麼做? –

+0

增加了一些示例代碼 –

+0

獨特性呢?我的意思是電子郵件ID應該是唯一的我應該使用一個HashSet並保存所有的id。這是否確保唯一性? –

相關問題