我有一个电子邮件主题行,我需要分析。我需要找到在一个单词列表中给出的任何单词的第一次出现,并得到下一个单词,这个单词可以被
('=' or ',' or ';' or 'blank' or '.'). 例如
“客户”、“客户”、“昆登”、“kd.nr”的单词列表。 " Order“、"auftrag”、"auftragsnummer“、”auftragnr“的单词列表。 分隔符:=;
subjectline: Customer 2013ABC has send an Aufrag 2056899A for Motif=A 我需要解析如下的信息
customer=2013ABC
order=2056899A
Motif=A我使用的是Java 7,所以Scanner类也可以使用。
谢谢你提前给我的建议
发布于 2014-03-11 12:33:09
您可以通过使用正则表达式来实现这一点,下面是一个示例代码:
Pattern p = Pattern.compile(".*(customer|client|kunden|kd\\.nr\\.)[=,;\\. ]*(\\w*).*(order|auftrag|auftragsnummer|auftragnr\\.)[=,;\\. ]*(\\w*).*[ ](.*)$", Pattern.CASE_INSENSITIVE);
String subject = "subjectline: kd.nr. 2013ABC has send an Auftrag 2056899A for Motif=A";
Matcher m = p.matcher(subject);
if(m.matches()) {
System.out.println(m.group(1) + " : " + m.group(2) );
System.out.println(m.group(3) + " : " + m.group(4));
System.out.println(m.group(5));
}希望这能有所帮助。
https://stackoverflow.com/questions/22325005
复制相似问题