黑马程序员技术交流社区
标题:
字符串分割
[打印本页]
作者:
strawberry2013
时间:
2013-5-11 22:24
标题:
字符串分割
本帖最后由 strawberry2013 于 2013-5-11 22:37 编辑
class Demo
{
public static void main(String[] args)
{
String p = "asasd.adas.txt.rmvb";
String[] s = p.split(".");
System.out.println(s.length);
}
}
居然分割得到的s数组长度为 0,,,即没有分割成功!
而是用字母分割,成功!可是 点号也不是 转义字符!
求解!!!
总之,目的就是为了获得字符串最后一个点号后面所跟的字符串,即得到
扩展名
!不知道大家有什么好的思路~~谢谢!!!!
作者:
eycrckag
时间:
2013-5-11 22:28
.是所有的意思。在正泽表达式里面,你的问题就在这里。你的任意。java就疯啦
作者:
eycrckag
时间:
2013-5-11 22:29
.是所有的意思。在正泽表达式里面,你的问题就在这里。你的任意。java就疯啦
作者:
eycrckag
时间:
2013-5-11 22:33
打开api文档,看下Pattern类。里面有
作者:
高原
时间:
2013-5-11 22:35
split()方法接收一个正则表达式作为参数,
"." 表示任何字符,可以参看jdk文档中正则表达式部分
可以这样写:
class Demo
{
public static void main(String[] args)
{
String p = "asasd.adas.txt.rmvb";
String[] s = p.split("[.]");
System.out.println(s.length);
}
}
复制代码
用 "[]" 将 "." 括起来即可
作者:
strawberry2013
时间:
2013-5-11 22:37
谢谢各位!
作者:
孙金鑫
时间:
2013-5-11 22:39
class Demo
{
public static void main(String[] args)
{
String p = "asd.dsf.txt.rmvb";
String[] s = p.split("\\."); //split(String regx),里面是正则表达式,而".",在正则表达式中标示任意字符,所以要加上\\转移字符
System.out.println(s.length);
}
}
复制代码
作者:
zms2100
时间:
2013-5-11 22:41
本帖最后由 zms2100 于 2013-5-11 22:43 编辑
不好意思,LZ,这个"."刚好是个特殊字符,呵呵,代表任意字符(a-zA-Z等等),所以要切割点需要这样定义 "\\."(第二个\是用来转义".",第一个\是用来转义第二个\,应该懂了吧),另外反正我是没打印出数据(开头的时候),O(∩_∩)O~。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2