感谢回复!那为什么这三种写法都可以匹配?\t本身不是什么特殊字符啊,你试试把\t换成个回车比如\\n再试试

解决方案 »

  1.   

    感谢回复!那为什么这三种写法都可以匹配?\t本身不是什么特殊字符啊,你试试把\t换成个回车比如\\n再试试
    \n也是一样的情况。不知道为啥这三种形式都能匹配到。
      

  2.   

    因为str.replaceFirst 这个方法返回的是 str的引用。
    他们都指向一个,所以你的后边几个操作都不在\t字符了
      

  3.   

    感谢回复!那为什么这三种写法都可以匹配?\t本身不是什么特殊字符啊,你试试把\t换成个回车比如\\n再试试
    \n也是一样的情况。不知道为啥这三种形式都能匹配到。
    \n就是普通字符\n,所以你的3个都匹配上了有什么问题吗?
      

  4.   

    貌似是java会有两层处理,一个是字面的,一次是正则的。
    楼主试试 System.out.println(str.replaceFirst("\\\\t", "")); 结果就不一样了。可以参考:
    http://zjutsoft.iteye.com/blog/655177
      

  5.   

    感谢回复!那为什么这三种写法都可以匹配?\t本身不是什么特殊字符啊,你试试把\t换成个回车比如\\n再试试
    \n也是一样的情况。不知道为啥这三种形式都能匹配到。
    \n就是普通字符\n,所以你的3个都匹配上了有什么问题吗?
    为什么\\\n也可以?