对于mail subject 前面烦人的各种Re: 或Fw: 做一个有效的清除,代码如下:
运行结果如下:
[quote]clean subject 0
clean subject 1
clean subject 2
clean subject 3
clean subject 4
clean subject 5
clean subject 6
clean subject 7
clean subject 8
clean subject 9
clean subject 10
clean subject 11
clean subject 12
clean subject 13
Replication clean subject
World Cup 2014 clean subject
e-bug clean subject[/quote]
public class TestString {
static String [] test = {
"clean subject 0",
"Re: clean subject 1",
"Fw: clean subject 2",
"RE: clean subject 3",
"Re: FW: clean subject 4",
"Fw: RE: FW: clean subject 5",
"RE: Re: Re: Re: clean subject 6",
"Fw: Re: clean subject 7",
"Re: Re: Re: Re: Re: Re: Re: clean subject 8",
"fw: re: fw: re: fw: re: fw: re: fw: re: fw: re: clean subject 9",
"Fw: Re: clean subject 10",
"*Confidential: Re: Fw: *XXX Confidential: Fw: clean subject 11",
"*XXX Confidential: Fw: clean subject 12",
"*XXX Confidential: Fw: Fw: clean subject 13",
"Re: Replication clean subject",
"Re: World Cup 2014 clean subject",
"Fw: e-bug clean subject",
};
/**
* clean subject based on the subject
*/
public static String cleanSubject (String subject) {
String cleanSubject = null;
if (subject == null) {
return cleanSubject;
}
// regex to Clean the mail subject
String regex = "(Re: |RE: |re: |Fw: |FW: |fw: |\\*XXX Confidential: |\\*Confidential: )*";
String cs = subject.replaceFirst(regex, "").trim();
return cs;
}
public static void main(String[] args) {
for (String s: test) {
System.out.println(cleanSubject(s));
}
}
}
运行结果如下:
[quote]clean subject 0
clean subject 1
clean subject 2
clean subject 3
clean subject 4
clean subject 5
clean subject 6
clean subject 7
clean subject 8
clean subject 9
clean subject 10
clean subject 11
clean subject 12
clean subject 13
Replication clean subject
World Cup 2014 clean subject
e-bug clean subject[/quote]