问题:现定义了一个private String cardId;//身份证号码18位,我想通过的数组的方式将其存储,然后打印,输出时当中的生日用*替换,谢谢。

解决方案 »

  1.   

    public String getCardId(){
    String cardId="11111120121221XXXX";
    String str1=cardId.substring(6,14);
    String str = cardId.replace(str1,"********");
    System.out.print(str);
    return str;
    }
      

  2.   

    public String getCardId(){
    String cardId="11111120121221XXXX";
    String str1=cardId.substring(6,14);
    String str = cardId.replace(str1,"********");
    System.out.print(str);
    return str;
    }
      

  3.   

    不是很严密,正好其他地方也有跟生日一样的数字呢
    String no = "110110198010108888";
    String p = no.substring(0, 6) + "********" + no.substring(14);
    System.out.println(p);
      

  4.   

    cardId.repalce("(?<=\\d{6})\\d{8}(?=\\d{4})","*");
      

  5.   

    找到指定位子用replace()方法替换就行了。