JavaでStringのReplaceAllでは小さな結び目を使う
1、StringはReplaceAll()を使用した後、結果を自分に与える.
以前に書いたもの:
結果を元のStringに与えなかったので、元のStringは「-」を落とさず、結果より自然に間違っていた.
2、正規表現に注意:
「.」、「/」などの正規表現に属する特殊な文字は、特に注意してください.
public static boolean inDateField(S2s bean1, Flag bean2) {
String formDate = bean1.getForm_date();
if (bean2 == null) {
return false;
}
String startDate = bean2.getStartDate();
String endDate = bean2.getEndDate();
if (formDate == null || "".equals(formDate) || startDate == null
|| "".equals(startDate) || endDate == null
|| "".equals(endDate)) {
return false;
}
startDate = startDate.replaceAll("-", "");
endDate = endDate.replaceAll("-", "");
return (formDate.compareTo(startDate) >= 0)
&& (formDate.compareTo(endDate) <= 0);
}
以前に書いたもの:
startDate.replaceAll("-", "");
endDate.replaceAll("-", "");
結果を元のStringに与えなかったので、元のStringは「-」を落とさず、結果より自然に間違っていた.
2、正規表現に注意:
「.」、「/」などの正規表現に属する特殊な文字は、特に注意してください.
public static void testReplaceAll() {
String startDate = "2008.09.01";
String endDate = "2008.09.30";
String sDate = startDate.replaceAll("[.]", "");
String eDate = endDate.replaceAll("[.]", "");
System.out.println(startDate + ":" + endDate + ":" + sDate + ":"
+ eDate);
}