public class DisposeCodeUtils extends Object
文件名:DisposeCodeUtils.java
用途: 集合在编码时需要对文本等数据时经常用到的方法,通过该类可统一对所有相关的方法进行统一维护
编码时间:2022年5月17日 下午3:59:33
修改时间:2022年12月12日 上午8:49:01
Constructor and Description |
---|
DisposeCodeUtils() |
Modifier and Type | Method and Description |
---|---|
static String |
arabicNum2EnglishLetters(int numberIndex)
用于将阿拉伯数字序号转换为以英文字母表示的数字序号
|
static String |
arabicNum2EnglishLetters(int numberIndex,
boolean isLowerCase)
用于将阿拉伯数字序号转换为以英文字母表示的数字序号
|
static String |
arabicNum2RomanNum(int arabicNum)
该方法用于将3999以内的阿拉伯数字转换为罗马数字
|
static String |
arabicNum2RomanNum(int arabicNum,
boolean isLowerCase)
该方法用于将3999以内的阿拉伯数字转换为罗马数字
|
static int |
calcExtendStrIndex(String text,
String findStr,
String transferredMeaningStr)
该方法用于查找符号的在字符串中的下标值
|
static int |
countOccurrences(String text,
String target)
该方法用于统计在一长串字符串中,指定的字符串出现的次数
|
static int |
customizedIndex2ArrayIndex(int index,
int minIndex,
int maxIndex,
int arrayIndexDiff,
boolean isReverseOrderTraversal,
boolean isMinEmptyIndexRandom,
boolean isMaxEmptyIndexRandom,
boolean isThrowException)
该方法用于对自定义的下标进行处理,返回可用的数组下标的方法
|
static int |
disposeArrayIndex(int index,
int minIndex,
int maxIndex,
boolean isMinEmptyIndexRandom,
boolean isMaxEmptyIndexRandom,
boolean isThrowException)
该方法用于对数组下标进行处理的方式
|
static <T> T |
disposeEnumTypeText(Class<T> enumClass,
String typeText,
Function<String,String> mapper,
boolean isThrowException)
该方法用于对枚举文本所有内容转换为大写字母处理,并最终将其转换为指定的枚举类
|
static <T> T |
disposeEnumTypeText(Class<T> enumClass,
String typeText,
Function<String,String> mapper,
boolean isThrowException,
short changeTypeText)
该方法用于对枚举文本根据指定转换方式进行转换处理,并最终将其转换为指定的枚举类
|
static String |
disposeRegexSpecialSymbol(String text)
该方法用于对文本进行去正则特殊符号处理,使文本整体能在正则判断中不被转义
|
static int |
englishLetters2ArabicNum(String charIndex)
用于将英文字母表示的数字序号转换为阿拉伯数字序号,英文下标忽略大小写
|
static String |
extractPlaceholderContent(String startSign,
String endSign,
String keyRegex,
String text)
该方法用于获取指定占位符中的内容
|
static String |
repeatString(String str,
int repeatCount)
该方法用于重复拼接指定次数的字符串
|
static String |
replacePlaceholder(String startSign,
String endSign,
String text,
Map<String,String> replaceKeyMap)
该方法用于对文本中的占位符进行替换的方法
|
public static String disposeRegexSpecialSymbol(String text)
例如,存在一段文本“test()”,若直接放入String.matches(String)
中时,文本中的“()”会被识别为正则
中的特殊符号,导致返回结果不符合预期;通过该方法处理后,字符串将变为“test\\(\\)”此时便可直接将整体当做判断为本进行判断
text
- 待处理文本public static int customizedIndex2ArrayIndex(int index, int minIndex, int maxIndex, int arrayIndexDiff, boolean isReverseOrderTraversal, boolean isMinEmptyIndexRandom, boolean isMaxEmptyIndexRandom, boolean isThrowException)
处理下标的规则如下:
注意:最大、最小或下标差值小于等于0,且最小下标不能小于差值,否则将抛出异常
index
- 待处理下标minIndex
- 自定义最小下标maxIndex
- 自定义最大下标arrayIndexDiff
- 自定义下标与数组下标的差值isReverseOrderTraversal
- 是否允许反序遍历isMinEmptyIndexRandom
- 小于最小下标时是否返回随机下标isMaxEmptyIndexRandom
- 大于最大下标时是否返回随机下标isThrowException
- 超出下标界限时是否抛出异常DisposeNumberException
- 非正常下标或最大、最小、下标差值传入有误时抛出的异常public static int disposeArrayIndex(int index, int minIndex, int maxIndex, boolean isMinEmptyIndexRandom, boolean isMaxEmptyIndexRandom, boolean isThrowException)
处理下标的规则如下:
注意:最大小于等于0,或最小值小于0,或最大值小于最小值时,将抛出异常
index
- 指定下标minIndex
- 最小下标maxIndex
- 最大下标isMinEmptyIndexRandom
- 是否最小值随机isMaxEmptyIndexRandom
- 是否最大值随机isThrowException
- 是否抛出异常public static int calcExtendStrIndex(String text, String findStr, String transferredMeaningStr)
text
- 查找字符串findStr
- 待查找字符transferredMeaningStr
- 转义字符public static String replacePlaceholder(String startSign, String endSign, String text, Map<String,String> replaceKeyMap)
startSign
- 占位符起始标识endSign
- 占位符结束标识text
- 待替换的文本replaceKeyMap
- 待替换的占位符及相应的词语public static String extractPlaceholderContent(String startSign, String endSign, String keyRegex, String text)
startSign
- 占位符开始标志endSign
- 占位符结束标志keyRegex
- 占位符中的关键词正则表达式text
- 查找的文本public static <T> T disposeEnumTypeText(Class<T> enumClass, String typeText, Function<String,String> mapper, boolean isThrowException)
若枚举转换失败,则根据指定的参数来判断是否抛出异常,若不抛出异常,则返回null
T
- 枚举类对象enumClass
- 枚举类Class
对象typeText
- 枚举文本mapper
- 文本特殊处理方式isThrowException
- 是否需要抛出异常public static <T> T disposeEnumTypeText(Class<T> enumClass, String typeText, Function<String,String> mapper, boolean isThrowException, short changeTypeText)
若枚举转换失败,则根据指定的参数来判断是否抛出异常,若不抛出异常,则返回null;文本转换的方式可通过“changeTypeText”参数控制:
T
- 枚举类对象enumClass
- 枚举类Class
对象typeText
- 枚举文本mapper
- 文本特殊处理方式isThrowException
- 是否需要抛出异常changeTypeText
- 文本转换方式public static String arabicNum2RomanNum(int arabicNum)
注意:转换后的罗马数字为大写字母,若转换的数字超过3999,则无法进行表示,故不建议使用
arabicNum
- 阿拉伯数字public static String arabicNum2RomanNum(int arabicNum, boolean isLowerCase)
注意:转换后的罗马数字为大写字母,若转换的数字超过3999,则无法进行表示,故不建议使用
arabicNum
- 阿拉伯数字isLowerCase
- 是否输出小写字母public static String arabicNum2EnglishLetters(int numberIndex)
数字转换的方法为,根据英文字母的顺序,1则转换为字母A,2转换为字母B,以此类推;当表示完26个字母后,则继续从A开始,在其后添加字母,例如,27转换为AA,28转换为AB,类似于Excel表格的计数方式
注意:转换后的英文字母为大写字母,并且不能表示0
numberIndex
- 列数字下标public static int englishLetters2ArabicNum(String charIndex)
转换方式可参考方法arabicNum2EnglishLetters(int)
charIndex
- 列英文下标IncorrectIndexException
- 当英文下标不正确时抛出的异常public static String arabicNum2EnglishLetters(int numberIndex, boolean isLowerCase)
数字转换的方法为,根据英文字母的顺序,0则转换为字母A,1转换为字母B,以此类推;当表示完26个字母后,则继续从A开始,在其后添加字母, 例如,27转换为AA,28转换为AB,类似于Excel表格的计数方式
numberIndex
- 列数字下标isLowerCase
- 是否输出小写字母public static String repeatString(String str, int repeatCount)
str
- 待拼接的字符串repeatCount
- 需要重复拼接的次数Copyright © 2024. All rights reserved.