java-工具类(校验整数、返回指定字符在某字符串中出现的次数)

作者:mooncharmzx

链接:https://blog.bccn.net/mooncharmzx/66337

话不多说,直接上代码

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.regex.Pattern;


public class StringUtil {

static int varlen1;

static int varlen2;


static String varstr1;

static String varstr2;

static String varstr3;

private static Map mapMonth =null;


static{

    mapMonth = new HashMap<>();

    mapMonth.put("Jan", "01");

    mapMonth.put("Feb", "02");

    mapMonth.put("Mar", "03");

    mapMonth.put("Apr", "04");

    mapMonth.put("May", "05");

    mapMonth.put("Jun", "06");

    mapMonth.put("Jul", "07");

    mapMonth.put("Aug", "08");

    mapMonth.put("Sep", "09");

    mapMonth.put("Oct", "10");

    mapMonth.put("Nov", "11");

    mapMonth.put("Dec", "12");

}

public static String[] getAllTtype(){

    return allTtype;

}


/**

 * 返回sourceStr 可以被indexStr截取的字符串个数

 * @param sourceStr

 * @param indexStr

 * @return

 */

public static int indexCounts(String sourceStr,String indexStr){


    varlen1 = sourceStr.length();

    varlen2 = indexStr.length();


    int i=0;//字符串下标

    int n=0;//某字符串在指定字符串中的个数


    while (i< varlen1){

        varstr1 = sourceStr.substring(i, i);//substr(sourceStr,i,1);

        varstr2 = indexStr.substring(1,1);//获取指定用于截串的字符串的第一个字符


        if(varstr1.equals(varstr2)){

            if(i+varlen2<=varlen1){//判断字符下标

                if(indexStr.equals(sourceStr.substring(i, i+varlen2))){

                    n++;

                    i=i+varlen2;

                }

            }

        }

        i++;

    }

    return n+1;

}


/**

 * 返回indexStr出现的次数

 * @param sourceStr

 * @param indexStr

 * @return

 */

public static int indexStrCounts(String sourceStr,String indexStr){


    varlen1 = sourceStr.length();

    varlen2 = indexStr.length();


    int i=0;//字符串下标

    int n=0;//某字符串在指定字符串中的个数


    while (i< varlen1){

        varstr1 = sourceStr.substring(i, i);//substr(sourceStr,i,1);

        varstr2 = indexStr.substring(1,1);//获取指定用于截串的字符串的第一个字符


        if(varstr1.equals(varstr2)){

            if(i+varlen2<=varlen1){//判断字符下标

                if(indexStr.equals(sourceStr.substring(i, i+varlen2))){

                    n++;

                    i=i+varlen2;

                }

            }

        }

        i++;

    }

    return n;

}


/** 是否是整数

 * 10.001 false

 * 10.00 true

 * @param strNum

 * @return

 */

public static boolean isNumeric(String strNum){


    boolean boo = strRegular(strNum,0,9);

    int cou = indexCounts(strNum,".");

    if(boo){

        return boo;

    }else{

        if(cou==1){

            return false;

        }else if(cou==2){

            String endNum = indexOf(strNum, ".", 2);

            boolean bo = strRegular(endNum,0,9);

            if(bo){

                Integer in = new Integer(endNum);

                if(in==0){

                    return true;

                }else{

                    return false;

                }

            }else{

                return false;

            }


        }else{

            return false;

        }

    }


    /*if(!boo){


    }*/

   // return pattern.matcher(strNum).matches();  

}


public static boolean strRegular(String strNum,int startNum,int endNum){

     Pattern pattern = Pattern.compile("^-?["+startNum+"-"+endNum+"]*");

    return pattern.matcher(strNum).matches();

}  }

如果你在最近的开发生涯中遇到了问题或者是想提升自己,欢迎阅读我的文章:

大厂面试题、架构核心技术分享,解决99%的架构师都遇到的问题。

链接:https://www.jianshu.com/p/b8e77c8cea6d

你可能感兴趣的:(java-工具类(校验整数、返回指定字符在某字符串中出现的次数))