qq_35890810
qq_35890810
2017-12-27 09:40
采纳率: 100%
浏览 2.7k
已采纳

java处理隐藏字符串的问题,识别清除非法字符

System.out.println("‭".equals("‬"));
这个返回值是false,这两个字符串都不是空字符串,会出现在手机号码的前后

js也会遇到同样的问题

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

17条回答 默认 最新

  • qdlgjsj345
    已采纳

    如果针对手机号,可以用正则匹配下,去掉数字以外的字符,str.replaceAll("[^0-9]", "")

    点赞 评论
  • weixin_39389850
    敷盎方 2017-12-27 09:47

    讲道理System.out.println("".equals(""));的输出值是true啊

    点赞 评论
  • morgerton
    白萝卜blb 2017-12-27 09:52

    toString().trim() 自己整理字符串 比较吧。

    点赞 评论
  • rengcuo5403
    rengcuo5403 2017-12-27 09:52

    返回true没毛病呀老铁

    点赞 评论
  • o0YYY0o
    知足的燕子 2017-12-27 09:54

    仅仅是System.out.println("‭".equals("‬"));输出是true没问题啊
    如果值是通过读取其他途径得到的,比如文件,可能存在因编码导致的隐藏非法字符

    点赞 评论
  • weixin_39757862
    RanchoSCI 2017-12-27 09:55

    System.out.println("".equals(""));就应该是返回true

    点赞 评论
  • weixin_37775583
    Mr、王 2017-12-27 09:56

    把字符串加上trim()后再试试

    点赞 评论
  • ljheee
    ljheee 2017-12-27 10:13

    System.out.println("‭".equals("‬"));
    我执行这句,返回时false,

    点赞 评论
  • huangxuestarrysky
    huangxuestarrysky 2017-12-27 10:14

    dasfdasfdsafasf

    点赞 评论
  • pingan2452
    pingan2452 2017-12-27 10:14

    ""字符串在Java中是对象在作怪,可以toString试试

    点赞 评论
  • qq_35890810
    qq_35890810 2017-12-27 10:21

    复制我的代码执行看下,你们说的我都知道

    点赞 评论
  • hgrocfigo1
    hgrocfigo1 2017-12-27 10:34

    "字符串在Java中是对象在作怪,可以toString试试

    点赞 评论
  • qdlgjsj345

    打印了下对应的assii码,对应的分别是45跟44,所以不相等,不过不知道题主是怎么输入的
    下面是打印的代码

     System.out.println((byte)("‭".charAt(0))+":"+"‭".length());          //输出结果是45:1
     System.out.println((byte)("‬".charAt(0))+":"+"‬".length());          //输出结果是44:1
     System.out.println((char)45);                                                    //输出结果是-
     System.out.println((char)44);                                                    //输出结果是,
    
    点赞 评论
  • yulei2008_
    于雷【星硕世纪】 2017-12-27 11:29

    空字符串里面是不是有多出的空格或其他原因,把字符串加上trim()应该可以解决!

    点赞 评论
  • weixin_37219633
    Java批发 2017-12-28 06:26

    两种方法 1: 如果是手机号 你可以根据正则表达式来限时输入 2: 你可以把拿到的值进行一个空格的处理 trim()

    点赞 评论
  • wangfanshu
    今年冬天下雪吗 2017-12-28 06:31

    返回false的是jdk1.7,1.8就是true

    点赞 评论
  • weixin_40836203

    你这个是怎么敲出来的,我复制过来,执行确实是false;
    手敲,一模一样,就是true

    点赞 评论

相关推荐