【问题标题】:Matching + character with Java Regex使用 Java 正则表达式匹配 + 字符
【发布时间】:2020-07-23 15:19:32
【问题描述】:

我正在编写一个程序来验证社会保障 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;
    }
  }

我知道针对此特定问题的明显解决方法:我可以简单地编写一个标识“-”字符的正则表达式,因为它不是特殊字符。但是,我很好奇为什么我无法完成这项工作。

最好的问候 费利克斯

【问题讨论】:

    标签: java regex


    【解决方案1】:

    您将字符串中的第 7 个字符与字符串 \+ 进行比较。这里没有正则表达式。您使用的是常规的 String.equals 方法,因此您可以将字符串 + 传递给它。

    或者这会起作用:

    sweID.charAt(6) == '+'
    

    还有,而不是

    if (condition)
        return true;
    else
        return false;
    

    你可以这样做

    return condition;
    

    【讨论】:

      猜你喜欢
      • 2013-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      相关资源
      最近更新 更多