今天写了一个很麻烦的解析,然后遇到了个问题,就是字符串按照格式分割后怎样判断哪些分组是数字,然后需要将这些字符串拼接起来。。
java中有一个可以判断字符是否是数字的方法:Character.isDigit(char ch) 返回值为true 或 false
那么要判断一个字符串是否是数字就可以采用下面的方法:
public static boolean isNumeric(String str) { for (int i = str.length(); --i >= 0; ) { if (!Character.isDigit(str.charAt(i))) { return false; } } return true; }那么数字的拼接就可以采用如下的方式:
String str = "123 123 123 123"; String[] arr = str.split(" "); // String a = ""; StringBuffer sb = new StringBuffer(); for (int i = 0; i < arr.length; i++) { if(isNumeric(arr[i])){ sb.append(arr[i]); } } System.out.println("-----" + sb.toString());输出结果为:-----123123123123
至此字符串中数字的拼接基本上就是这样了,但是博主在尝试的时候遇到了问题,简要的说一下
一开始定义的是string,拼接出来的东西和想要的是反过来的,也就是说是倒序的,经过思考,发现其实是一个很低级的错误
a = a + arr[i] 和 a = arr[i] + a在次序上本身就是不一样的,所以上面注释的string也是可以的
以上就是今天写的小工具的收获了。每天都要元气满满的敲代码哈~