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

该博客分享了几个Java代码片段,包括获取字符串中特定子串的出现次数、检查字符串是否为整数的函数。此外,还提供了一个用于将英文月份缩写转换为数字的静态初始化块。这些方法对于日常的字符串处理和验证非常实用。
摘要由CSDN通过智能技术生成

话不多说,直接上代码

c3f9f3b1c5d875074d8a8b8e9d7716c2.png

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();

} }

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

作者:mooncharmzx

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值