黑马程序员技术交流社区

标题: 很奇怪的问题 [打印本页]

作者: 胡元    时间: 2012-6-5 17:25
标题: 很奇怪的问题
  1. class GetKuozhan
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 String s =  "abc.java.txt";
  6.                 String st = getKuozhan(s);
  7.                 System.out.println(st);
  8.         }
  9.         public static String getKuozhan(String s)
  10.         {
  11.                 String[] ss = s.split(".");
  12.                         return ss[ss.length-1];
  13.         }
  14. }
复制代码
直接撒谎能够代码,看似简单,但是运行时通不过,求改正
作者: 田建    时间: 2012-6-5 17:32
把.用【】扩起来即可,因为在正则表达式里.代表除\r\n以外的任意字符!
作者: 唐辉辉    时间: 2012-6-5 17:33
本帖最后由 唐辉辉 于 2012-6-5 17:38 编辑

   楼上是对的!

作者: 田建    时间: 2012-6-5 17:35
唐辉辉 发表于 2012-6-5 17:33
我也很奇怪, 你是要干嘛!!

他是要把结尾处的txt切割出来!
作者: 唐辉辉    时间: 2012-6-5 17:37
田建 发表于 2012-6-5 17:35
他是要把结尾处的txt切割出来!

明白了,是我看错了!:L
作者: 马林贺    时间: 2012-6-5 17:45
本帖最后由 马林贺 于 2012-6-5 17:54 编辑

我给你测试了一下 要是不换字符 你改成 "[.]"  也就不会出问题了

测试.jpg (93.84 KB, 下载次数: 31)

测试.jpg

作者: 王超    时间: 2012-6-5 18:04
点是正则表达式特殊符号 ,所以需要转义字符
更改后是:
String[] ss = s.split("\\.");
这样就正确了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2