在java中拆分字符串

时间:2016-11-02 15:46:17

标签: java string email split

首先,我一直在回顾以前关于java分裂的问题,我已经看到很多答案,但我读过的都没有解决我的问题。

我正在尝试拆分以下字符串:

String toSplit = "hello@mail.com, \"hel,o\"@mail.info , not,hello@mail.com";

我希望,使用split函数得到以下结果:

hello@mail.com

"hel,o"@mail.info

not,hello@mail.com

正如你所看到的那样,是什么使得不同的字符串,但也允许包含在字符串中,我无法找到任何东西放在string.split函数中,对我有用。 ..任何其他不使用拆分功能的解决方案也是有效的

提前致谢

3 个答案:

答案 0 :(得分:0)

如果可以更改拆分字符,则可以使用不是电子邮件有效字符的分隔符,例如;

你的字符串看起来像这样: "hello@mail.com;"hel,o"@mail.info;not,hello@mail.com"

答案 1 :(得分:0)

对于你给定的String toSplit,我假设逗号后面跟空格。使用该逻辑,

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

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

这是输出:

hello@mail.com
"hel,o"@mail.info
not,hello@mail.com

答案 2 :(得分:0)

我认为Murat K会给你答案。

您还可以在正则表达式中看到此帖子并在昏迷后添加空格

Java: splitting a comma-separated string but ignoring commas in quotes