java用split切割字符串后,首字符消失了?
代码和输出结果如图可以很清楚地看到,切割后的字符串str的第一项,str[0]没有了想问问大家这是怎么一回事,这个问题如何解决?...
代码和输出结果如图可以很清楚地看到,切割后的字符串str的第一项,str[0]没有了想问问大家这是怎么一回事,这个问题如何解决?
展开
6个回答
展开全部
你好,看了你的代码,我发现你的第一步输出其实没有达到用空格替换冒号的要求。
replaceAll的是返回替换的字符串,但你并没有把返回的字符串重新赋值进s[i]中,
所以导致下面的代码中找不到空格,并发生split拆分错误
我仿照你的程序写了一个方法,应该满足你的需求:
public static void main(String[] args) {
String[] s = {"99:99:99","28:19:97","26:55:45","19:39:91","40:68:10"};
for(int i=0;i<s.length;i++){
s[i]=s[i].replaceAll(":"," ");
System.out.println(s[i]);
String[] str = s[i].split(" ");
for (String str1:str){
System.out.println(str1);
}
}
}
replaceAll的是返回替换的字符串,但你并没有把返回的字符串重新赋值进s[i]中,
所以导致下面的代码中找不到空格,并发生split拆分错误
我仿照你的程序写了一个方法,应该满足你的需求:
public static void main(String[] args) {
String[] s = {"99:99:99","28:19:97","26:55:45","19:39:91","40:68:10"};
for(int i=0;i<s.length;i++){
s[i]=s[i].replaceAll(":"," ");
System.out.println(s[i]);
String[] str = s[i].split(" ");
for (String str1:str){
System.out.println(str1);
}
}
}
展开全部
你替换的不对,因该是把:替换成空格,不是“”这玩意不可以作为分隔符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符串首尾都有空字符串,用空字符串来切,当然想切空气一样,把首字符前面的空字符串切出来了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你看看str.length 是多少
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的jdk版本是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询