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

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

作者: 爱PSUI设计的星星 | 来源:发表于2020-12-05 15:45 被阅读0次

    作者: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<String,String> 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-工具类(校验整数、返回指定字符在某字符串中出现的次数)

          本文链接:https://www.haomeiwen.com/subject/mqygwktx.html