首先,我一直在回顾以前关于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函数中,对我有用。 ..任何其他不使用拆分功能的解决方案也是有效的
提前致谢
答案 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