A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 智远 中级黑马   /  2015-4-13 17:37  /  592 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

将String  str=“12,5,0,0.1,100,236,102,0”中值等于0的数去掉,100这样的数保留,再将剩余的数一个一个打印出来。效果是这样:12  5  0.1  100  236  102
如果用到正则,请详细注释一下,本人对正则并不熟。。。,,想找下思路。最好能提供关键代码。谢啦!!!

9 个回复

倒序浏览
利用字符串split函数(正则表达式)把字符串分割成字符数组,在遍历 就可以了
回复 使用道具 举报
2L正解
把逗号作为分割符切割字符串存入数组,然后遍历
回复 使用道具 举报
str.split(",")弄成一个String数组,在挨个用Integer.parseInt,等于0的再去掉呗
回复 使用道具 举报
于先森 发表于 2015-4-13 19:25
利用字符串split函数(正则表达式)把字符串分割成字符数组,在遍历 就可以了 ...

正则一直写不出来,能否提示下?
回复 使用道具 举报
智远 发表于 2015-4-13 22:22
正则一直写不出来,能否提示下?

str.split(",")
回复 使用道具 举报
这个是哪个章节的内容
回复 使用道具 举报
智远 中级黑马 2015-4-13 22:36:47
8#

这样只能切割成数组,怎么把零一起去掉?我用正则一直把0.1的0给去掉
回复 使用道具 举报
还没学到,表示不懂
回复 使用道具 举报
String str1="12,5,0,0.1,100,236,102,0";
StringBuilder sb=new StringBuilder();

String[] strs=str1.split(",");

for(String str:strs)
{
     if(str.equals("0"))
            continue;
     sb.append(str+",");
/*
     //或者用这种方法
    float num=Float.parseFloat(str);    //因为所要操作的字符串中有小数。
    if(num==0)
        continue;
*/
}
String newStr=sb.subString(0,sb.length()-1);
System.out.println(newStr);

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马