Java 处理mail subject

对于mail subject 前面烦人的各种Re: 或Fw: 做一个有效的清除,代码如下:
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));  
		}
		
	}
}


运行结果如下:
引用
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

猜你喜欢

转载自metaphy.iteye.com/blog/2219881