携程字符串处理

小伙伴能把 : String str = "1 4 7             "; 变成: String str = "147"; 么???
全部评论
String s = str.replace(" ","");
点赞 回复 分享
发布于 2018-03-29 21:27
        目前可以用的一种方式:         String str = "1 4 7             ";         String str2="";         for(int i=0;i<str.length();i++){         if(str.charAt(i)>=48 && str.charAt(i)<=57){         str2+=str.charAt(i);         }
点赞 回复 分享
发布于 2018-03-29 21:39
char[] chars = input.toCharArray(); StringBuilder stringBuilder=new StringBuilder(); for(int i=0;i<chars.length;i++){ if(chars[i]==12288){ chars[i]=32; } stringBuilder.append(chars[i]); } input= stringBuilder.toString().trim(); String[] split = input.split("\\s+");
点赞 回复 分享
发布于 2018-03-29 21:44
凡是关于字符串匹配类似的问题用正则表达式就行
点赞 回复 分享
发布于 2018-03-29 21:45
解决了,用下面测试:         String str = "1 4 7             ";         char c[] = str.toCharArray();         for(char cc:c){             System.out.println((int)cc);         } 输出: 49 (ascall编码1) 32(ascall编码space) 52(ascall编码4) 32 55(ascall编码7) 12288(unicode编码全角空格) 12288 12288 32 12288 32 12288 12288 12288 32 12288 32 12288 正解:         String str = "1 4 7             ";         String str1 = str.replaceAll(" ", "");         String str2 = str1.replaceAll(String.valueOf((char) 12288), "");         System.out.println(str2);
点赞 回复 分享
发布于 2018-03-29 21:48

相关推荐

03-11 09:07
门头沟学院 Java
北京某研究院 实习生 薪资待遇高一点,大概多1k+餐补 硕士
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务