2016-11-02 77 views
-1

首先,我一直在回顾以前关于在java中分割的问题,我看到了很多答案,但没有一个解决了我的问题。在Java中分割字符串

我试图分裂以下字符串:

String toSplit = "[email protected], \"hel,o\"@mail.info , not,[email protected]"; 

我想使用分割函数以下结果有,

[email protected] 

"hel,o"@mail.info 

not,[email protected] 

正如你所看到的,是是什么让不同的字符串,但也被允许被包含在字符串中,我一直无法找到任何东西放在string.split函数适用于我...任何其他解决方案不使用split函数将也是有效的

在此先感谢

+2

您可以添加一个空格字符,比如','在你的分裂,事后修剪。 –

+0

我们应该如何处理''a @ b,c,d @ e“'?是','在电子邮件的“主机”部分可以接受吗? – talex

+0

对于特定的字符串'split(“\\ s *,”)'应该可以工作。 – KDM

回答

0

如果有可能改变你的分裂性格,你可以使用一个分隔符,是不是电子邮件的有效字符如;

你的字符串应该是这样的: "[email protected];"hel,o"@mail.info;not,[email protected]"

0

对于给定的String toSplit,我假设逗号之后应该跟空格(s)。根据这种逻辑,

// String[] ans = toSplit.split("(,\\s+)"); 

String toSplit = "[email protected], \"hel,o\"@mail.info , not,[email protected]"; 
     String[] ans = toSplit.split("(,\\s+)"); 
     for(String s : ans){ 
      System.out.println(s.trim()); //for trailing whitespaces 
     } 

下面是输出:

[email protected] 
"hel,o"@mail.info 
not,[email protected]