2

我正在尝试修剪月份的名称,如果它看起来像:

September 25th, 2009

到:

Sept. 25th, 2009

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

September 2009

我有一个像这样的正则表达式。但我也不知道按预期保持月份日期的正确方法:

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

我究竟做错了什么?

4

2 回答 2

4

您可以使用String#replaceAll前瞻:

String data = "September 25th, 2009";
String repl = data.replaceAll("^September(?= +\\d+[a-z]{2},)", "Sep."); 
于 2013-10-15T14:24:41.147 回答
1

简单的解决方案是在您的 Java 或正则表达式本身中有一个 if 语句。

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

于 2013-10-15T14:24:18.190 回答