我想确定一个字符串是否是一个月的名称,并且我想相对快速地完成它。目前卡在我大脑中的功能是这样的:
boolean isaMonth( String str ) {
String[] months = DateFormatSymbols.getInstance().getMonths();
String[] shortMonths = DateFormatSymbols.getInstance().getShortMonths();
int i;
for( i = 0; i<months.length(); ++i;) {
if( months[i].equals(str) ) return true;
if( shortMonths[i].equals(str ) return true;
}
return false;
}
但是,我将处理大量文本,一次将一个字符串传递给这个函数,而且大多数时候我会遇到最坏的情况,即遍历整个循环并返回 false。
我看到另一个问题,它谈到了一个正则表达式来匹配一个月份名称和一个可以适应这种情况的年份。正则表达式会更快吗?有没有其他可能更快的解决方案?