java简单问题,分割字符串

String s = "123.jpg"
以点来分割字符串怎么分割?
s.split(".");这里 点表示其实的意思?
我的意思的 为什么点不能作为分隔符 怎么用点作为分隔符

s.split(".")是说在这串字符串中,他们是用点相隔的,用这个函数可以提取出每个单独的数据
通常会有csv文件,内容就是用逗号隔开:value1,value2,value3,value4.
而通常会单独读取那些字段,不需要读取逗号,所以用split这个函数在这个例子中是很好的
返回的是一个String数组。因为分隔出来有很多嘛~

你可能是想要截取一个名字叫123.jpg的文件的文件名,而去掉后缀

如果是这样可以用字符串的截取
subString(int index,int end);
功能的从index这个点,截取到end这个店
你这个就是从开头截取到点所在的位置,如果从后面数,点是倒数第四个
所以可以根据长度算一下
public static void main(String[] args) {
String a = "123.jpg";
String after = a.substring(0,a.length()-4);
System.out.println(after);
}

对于一些不好计算的点 可以用String的indexOf
int index = a.indexOf(".");//是说取到点所第一次出现的位置索引

希望对你有用~
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-10
用点做为分隔符,分隔123.jpg的结果是一个数组,包含两个String类型的值,分别是123和jpg,
如果分隔123.456.789.jpg,那包含四个String类型的值,分别是123,456,789和jpg,追问

s.split("."); 我用点作为分隔符,得到的结果是不对啊
s.split(".").length是0而不是2

追答

不好意思,也没仔细看,由于.是正则表达式的关键字,所以不能这样写,要解引用。
s.split("\\.");这样就行了

本回答被提问者采纳
第2个回答  2012-06-13
String[] ss=s.split(".");
得到的ss字符串数组就是根据点拆分的字符串数组
s.split(".");这里 点表示如果需分隔的字符串中有点,那么以点为一个断点,将两点之间的字符串提取出来追问

关键是点不能作为分隔符!!

第3个回答  2012-06-13
“.”就是分割字符啊,以这个作为分隔符将字符串分割追问

s.split("."); 我用点作为分隔符,得到的结果是不对啊
s.split(".").length是0而不是2

追答

哦,刚刚大意了,split里面的参数是正则表达式,而在正则里面. 表示任意字符
这里要这样s.split(''[.]'')来解决或者s.split("\\.")

相似回答