正则验证字符串中是否存在数字

//正则匹配表达式
String regExOne = "^[1-9]{1}$";
String regExTow = "^[0-9]{2}$";
Pattern patternOne = Pattern.compile(regExOne);
Pattern patternTow = Pattern.compile(regExTow);

List<String> nameList = new ArrayList<>();
nameList.add("7号桩");
nameList.add("9号桩");
nameList.add("1号桩");
nameList.add("3号桩");
nameList.add("11号桩");
nameList.add("11号桩");
nameList.add("8号桩");
nameList.add("2号桩");
nameList.add("4号桩");
nameList.add("6号桩");

//创建map设置每个元素的位置对于的值
Map<String,Integer> map = new HashMap<>();
//截取后的数据数字数组
int[] arrs = new int[nameList.size()];
for(int i=0,size = nameList.size();i<size;i++){
    String name = nameList.get(i);
    //取出第第一位,验证是否是数字
    String nameIndexOne = name.substring(0,1);
    //验证是否存在名称中是否存在数字
    Matcher matcherIndexOne = patternOne.matcher(nameIndexOne);
    boolean indexOne =  matcherIndexOne.find();
    if(indexOne){
        //取出第第二位,验证是否是数字
        String nameIndexTow = name.substring(0,2);
        Matcher matcherIndexTow = patternTow.matcher(nameIndexTow);
        boolean indexTow = matcherIndexTow.find();
        if(indexTow){
            map.put(nameIndexTow,i);
            arrs[i] = Integer.parseInt(nameIndexTow);
        }else{
            map.put(nameIndexOne,i);
            arrs[i] = Integer.parseInt(nameIndexOne);
        }
    }
}
Arrays.sort(arrs);
List<String> sortList = new ArrayList<>();
for(int j=0,size=arrs.length;j<size;j++){
   System.out.print(arrs[i]);
}

猜你喜欢

转载自my.oschina.net/u/2251646/blog/1821724