簡體   English   中英

用 Java 正則表達式匹配 + 字符

[英]Matching + character with Java Regex

我正在編寫一個程序來驗證社會保障 ID:s。 我正在使用格式為 YYMMDD-XXXX 的 10 位數字,我需要驗證日期是否正確。

如果一個人年滿 100 歲,“-”字符被替換為“+”,我需要識別這一點。

我正在使用 equals() 方法來實現這個目標,根據How to replace a plus character using Java's String.replaceAll method ,我應該能夠使用“\\+”識別加號。

但是,以下方法仍然返回 false:

  public static boolean is100(String sweID) {
    if ((sweID.substring(6,7)).equals("\\+")) {
      return true;
    } else {
      return false;
    }
  }

我知道這個特殊的明顯解決方法:我可以簡單地編寫一個標識“-”字符的正則表達式,因為這不是一個特殊字符。 但是,我很好奇為什么我無法完成這項工作。

最好的問候菲利克斯

您正在將字符串中的第 7 個字符與字符串\+進行比較。 這里沒有正則表達式。 您正在使用常規String.equals方法,因此您可以將字符串+傳遞給它。

或者這會起作用:

sweID.charAt(6) == '+'

此外,而不是

if (condition)
    return true;
else
    return false;

你可以做

return condition;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM