我有一个字符串,其中包含我的邮件详细信息,例如
GitHub Sat Jun 01 13:32:02 IST 2013
eBay Mon Jun 03 17:37:40 IST 2013
YouTube Tue Jun 04 00:18:50 IST 2013
YouTube Sat Jun 08 01:20:47 IST 2013
eBay Sat Jun 08 13:19:22 IST 2013
eBay Sat Jun 08 13:17:53 IST 2013
eBay Mon Jun 10 15:43:01 IST 2013
YouTube Mon Jun 10 15:47:02 IST 2013
eBay Wed Jun 12 11:10:15 IST 2013
eBay Wed Jun 12 19:25:50 IST 2013
eBay Thu Jun 13 17:22:14 IST 2013
eBay Thu Jun 13 18:09:18 IST 2013
Clark University Thu Jun 13 19:30:09 IST 2013
有没有办法让eBay,Youtube或其他任何事情发生过多次,以便我可以从特定的人那里收到一些邮件?
答案 0 :(得分:0)
您可以使用String tokenizer拆分字符串,并匹配第一个令牌的值。
如果eBay总是第一个字,那么你可以使用String类的startsWith()方法。
答案 1 :(得分:0)
尝试使用带有数据分组的正则表达式。
答案 2 :(得分:0)
此解决方案假设有两件事:
[用于修复列表项和代码提取的SO错误的额外行]
private static final Set<String> DAYS = new HashSet<String>(Arrays.asList(
"Mon ", "Tue ", "Wed ", "Thu ", "Fri ", "Sat ", "Sun "
));
public int nrMatches(final String mailList, final String sender)
{
int ret = 0;
int index;
for (final String line: mailList.split("\r?\n"))
for (final String day: DAYS) {
index = line.indexOf(day);
if (index == -1)
continue;
if (line.subString(0, index).trim().equals(sender))
ret++;
}
return ret;
}