char 常用工具类

此处介绍 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");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值