修剪月份正则表达式的名称

时间:2013-10-15 14:20:22

标签: java regex

我试图修改月份的名称,如果它看起来像:

September 25th, 2009

要:

Sept. 25th, 2009

但是 - 如果它看起来像这样:

September 2009

我有一个像这样的正则表达式。但我不知道如何保持月份的正确方法:

returnData = "September 5th, 2009";
returnData = returnData.replace("September (\\b\\d{1,2}\\b)th", "Sept. 5th");

我做错了什么?

2 个答案:

答案 0 :(得分:4)

您可以使用String#replaceAll与前瞻:

String data = "September 25th, 2009";
String repl = data.replaceAll("^September(?= +\\d+[a-z]{2},)", "Sep."); 

答案 1 :(得分:1)

简单的解决方案是在Java或正则表达式中使用if语句。

对于后者:http://www.regular-expressions.info/conditional.html