目录

commons-lang3

CharUtils

常用常量

//换行符 \n
char lf = CharUtils.LF;

 

is 字符内容判断

//是否是大|小写英文字母
boolean isAsciiAlphaUpper = CharUtils.isAsciiAlphaUpper(ch);
boolean isAsciiAlphaLower = CharUtils.isAsciiAlphaLower(ch);

//是否是英文字母
boolean isAsciiAlpha = CharUtils.isAsciiAlpha(ch);
//是否是阿拉伯数字0~9
boolean isAsciiNumeric = CharUtils.isAsciiNumeric(ch);

//是否是大小写英文字母或阿拉伯数字
boolean isAsciiAlphanumeric = CharUtils.isAsciiAlphanumeric(ch);

 

to 类型转换

//Character转char
char char3 = CharUtils.toChar(character); //如果Character是null,会抛异常
char char4 = CharUtils.toChar(character, defaultChar); //如果Character是null,返回defaultChar

//char转Character
Character character1 = Character.valueOf(ch); //CharUtils.toCharacterObject()已过时,可以使用包装类自身的方法代替



//String转char
char char1 = CharUtils.toChar(str); //如果String是empty会抛异常
char char2 = CharUtils.toChar(str, defaultChar); //如果String是empty则返回defaultChar

//String转换为Character
Character character2 = CharUtils.toCharacterObject(str); //empty返回null

//char|Character转String
String str = CharUtils.toString(ch | character);



//char|Character转int
int i1 = CharUtils.toIntValue(ch); //如果char不是0~9,会抛异常
int i2 = CharUtils.toIntValue(character); //如果character为null或不是0~9,会抛异常
int i3 = CharUtils.toIntValue(ch, defaultValue); //均可指定默认值,出现上面的异常情况时,返回默认值
int i4 = CharUtils.toIntValue(character, defaultValue);

 

compare 比较

//比较2个字符的大小,以ASCII码值相减。如果都是char型的0~9,相减结果与数值型一致
int compare = CharUtils.compare(char1, char2);

 

CharSet

此处的CharSet是commons-lang3中的类,不是java.nio中的类

//大小写英文字母
CharSet charSet1 = CharSet.ASCII_ALPHA;
//大写英文字母
CharSet charSet2 = CharSet.ASCII_ALPHA_UPPER;
//小写英文字母
CharSet charSet3 = CharSet.ASCII_ALPHA_LOWER;
//阿拉伯数字0~9
CharSet charSet4 = CharSet.ASCII_NUMERIC;


/*
自定义字符集,参数个数不定,是这些参数组成的并集

1、可以指定具体字符,eg."abc"

2、可以使用以下特殊符号
- 范围,eg."0-9"
^ 除开,eg."^a" a之外的任意字符,"^a-z" 小些字母之外的任意字符

3、可以搭配使用,eg."ABCG-Z" ABC、G-Z
*/
CharSet charSet5 = CharSet.getInstance("abc", "0-9", "ABCG-Z");


//判断字符集中是否包含指定字符(指定字符是否在字符集中)
boolean b1 = charSet5.contains('9');
boolean b2 = charSet5.contains('中');

 

CharSetUtils

第二个参数指定字符集,参数个数不定,可以现写字符集,也可以使用预定义常量的toString(),eg. ​​CharSet.ASCII_ALPHA.toString()​

//是否包含字符集中的字符,只要包含一个即可
boolean b = CharSetUtils.containsAny(str, "a-z", "0-9");

//统计字符集中字符的出现次数,eg. aa1b2 => 3
int count = CharSetUtils.count(str, "a-z", "0-9");

//移除字符集中包含的字符, eg. a1b2c3d => 123
String delete = CharSetUtils.delete(str, "a-z", "0-9");

//只保留字符集中的字符 eg. a1b2c3d => abcd
String keep = CharSetUtils.keep(str, "a-z", "0-9");

//剔除 字符集中包含的 && 连续重复的 多余字符,eg. aaabcbd => abcbd
String squeeze = CharSetUtils.squeeze(str, "a-z", "0-9");

 

hutool

CharUtil

常用常量
这些char常量都是继承子父接口 CharPool,也可以通过 CharPool 来引用

//空格
char space = CharUtil.SPACE;
//换行符\n
char lf = CharUtil.LF;
//制表符\t
char tab = CharUtil.TAB;
//斜杠/
char slash = CharUtil.SLASH;
//反斜杠\\
char backslash = CharUtil.BACKSLASH;

//英文逗号,
char comma = CharUtil.COMMA;
//英文点号.
char dot = CharUtil.DOT;
//英文双引号"
char doubleQuotes = CharUtil.DOUBLE_QUOTES;
//英文单引号'
char singleQuote = CharUtil.SINGLE_QUOTE;
//冒号:
char colon = CharUtil.COLON;

//减号(连接符)-
char dashed = CharUtil.DASHED;
//下划线_
char underline = CharUtil.UNDERLINE;
//&
char amp = CharUtil.AMP;
//@
char at = CharUtil.AT;

//花括号(左){
char delimStart = CharUtil.DELIM_START;
//花括号(右)}
char delimEnd = CharUtil.DELIM_END;
//中括号(左)[
char bracketStart = CharUtil.BRACKET_START;
//中括号(右)]
char bracketEnd = CharUtil.BRACKET_END;

 

常用方法

//比较2个char是否相等,第三个参数指定是否忽略大小写
boolean equals = CharUtil.equals('a', 'A', true);

//是否是文件分隔符,包括/ \\
boolean isFileSeparator = CharUtil.isFileSeparator('\\');

//是否是英文字母
boolean isLetter = CharUtil.isLetter('a');
//是否是大写英文字母
boolean isLetterUpper = CharUtil.isLetterUpper('a');
//是否是小写英文字母
boolean isLetterLower = CharUtil.isLetterLower('a');

//是否是阿拉伯数字0~9
boolean isNumber = CharUtil.isNumber('9');

//是否是英文字母或阿拉伯数字0~9
boolean isLetterOrNumber = CharUtil.isLetterOrNumber('a');

//char转String
String str = CharUtil.toString('a');

 

CharSetUtil

常用常量

//String、Charset形式的字符集

//ISO-8859-1
String iso88591 = CharsetUtil.ISO_8859_1;
//GBK
String gbk = CharsetUtil.GBK;
//UTF-8
String utf8 = CharsetUtil.UTF_8;

Charset charsetIso88591 = CharsetUtil.CHARSET_ISO_8859_1;
Charset charsetGbk = CharsetUtil.CHARSET_GBK;
Charset charsetUtf8 = CharsetUtil.CHARSET_UTF_8;

 

常用方法

//获取指定字符集(将String形式的字符集转换为Charset)
Charset charset1 = CharsetUtil.charset("utf-8"); //参数是blank时返回jvm默认字符集,转换失败(没有对应字符集)时直接抛异常
Charset charset2 = CharsetUtil.parse("utf-8"); //参数是blank或转换失败时,返回jvm默认字符集
Charset charset3 = CharsetUtil.parse("utf-8", CharsetUtil.CHARSET_UTF_8); //参数是blank或转换失败时,返回指定的默认字符集


//获取jvm默认字符集
Charset defaultCharset = CharsetUtil.defaultCharset();
String defaultCharsetName = CharsetUtil.defaultCharsetName();


//文件、字符串转码,第二、三个参数分别指定源字符集、目标字符集
CharsetUtil.convert(file, "gbk", "utf-8");
CharsetUtil.convert(str, "gbk", "utf-8");
CharsetUtil.convert(str, CharsetUtil.CHARSET_GBK, CharsetUtil.CHARSET_UTF_8);