黑马程序员技术交流社区
标题:
split切割字符串问题
[打印本页]
作者:
adamjy
时间:
2014-4-21 22:20
标题:
split切割字符串问题
本帖最后由 adamjy 于 2014-4-22 12:39 编辑
请问以下代码,为什么得不到文件的扩展名?
public static void main(String[] args) throws Exception {
//文件名为fileName
String fileName = "test.java.txt";
//打印文件扩展名
System.out.println(getExtension(fileName));
}
public static String getExtension(String fileName){
String[] strs = fileName.split(".");
return strs[strs.length-1];
}
复制代码
作者:
悠然丶
时间:
2014-4-21 22:28
public static String getExtension(String fileName){
String[] strs = fileName.split("."); //点在java中代表任意字符.这是正则表达式.你可以改成这样("\\.")就可以了
return strs[strs.length-1];
}
这个题可以这样做更好点,很好理解吧
public static String getName(String str) {
int index = str.lastIndexOf("."); //获取最后字符"."的位置
String s = str.substring(index, str.length()); //根据获得的"."的角标来截取字符串到最后
return s;
作者:
⒈心只霸占沵
时间:
2014-4-21 22:29
"."在java中,有特殊的含义,在split方法里加[]就可以
public static void main(String[] args) throws Exception {
//文件名为fileName
String fileName = "test.java.txt";
//打印文件扩展名
System.out.println(getExtension(fileName));
}
public static String getExtension(String fileName){
String[] strs = fileName.split("[.]");//这样
return strs[strs.length-1];
}
复制代码
作者:
WO.瘾姓埋銘
时间:
2014-4-21 22:45
这是根据正则表达式来拆解字符串,在正则表达式中.代表任何字符,所以需要用\\.来表示.
作者:
天山
时间:
2014-4-21 22:59
package com.isoftstone.interview;
public class text2 {
public static void main(String[] args) throws Exception {
// 文件名为fileName
String fileName = "test.java.txt";
// 打印文件扩展名
System.out.println(getExtension(fileName));
}
public static String getExtension(String fileName) {
String[] strs = fileName.split("\\."); \\ split("\\") 用法是这样的
return strs[strs.length - 1];
}
}
作者:
2528870651
时间:
2014-4-21 23:05
⒈心只霸占沵 发表于 2014-4-21 22:29
"."在java中,有特殊的含义,在split方法里加[]就可以
还带这样啊 ???? 一直没注意 ,学习了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2