Package cn.xuanyuanli.core.util
Class Texts
java.lang.Object
cn.xuanyuanli.core.util.Texts
文本字符工具
- Author:
- John Li Email:jujubeframework@163.com
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Stringcapitalize(String str) 首字母大写static booleancheckPassWord(String passWord) 正则验证密码为数字和字母的组合,且为6位以上static StringcleanSpecialChar(String str) 清除特殊字符static String去CSSstatic intcompareVersion(String version1, String version2) 版本号比较static boolean判断字符串中是否包含汉字static booleanemailValidate(String email) 邮箱验证static StringescapeExprSpecialWord(String keyword) 转义正则特殊字符 ($()*+.[]?static StringfilterOffUtf8Mb4(String text) 过滤掉超过3个字节的UTF8字符static boolean不忽略大小写static boolean用正则匹配,查找字符串中有没有相应字符static String格式化字符串,仿C#。static StringgenerateAtag(String href, String title, boolean blank) 生成a标签static StringgetChinese(String content) 获得文本中的所有中文static StringgetCnAndNumAndEn(String source) 获得中英文和数字static StringgetFirstLetter(String str) 获得字符串第一个字母static StringgetFirstLetterArr(String str) 获取汉字的首字母集合(如果字符串中有非中文,将被舍弃)static String获取匹配到的文本static String获取匹配到的文本static String[]获得组static String[]和JavaScript中RegExp对象的exec()方法一样
只返回第一个匹配的结果,数组中第一个元素包含正则表达式匹配的字符串,余下的元素是与圆括号内的子表达式相匹配的子串static StringgetHanyupinyin(String content) 得到汉字的拼音static StringgetHanyupinyin(String content, int type) 得到汉字的拼音static StringgetHideName(String source) 获得遮掩的名称,用**表示中间的字符(用于脱敏)static StringgetHideName(String source, int num, int prefixNum, int suffixNum) 获得遮掩的名称,用**表示中间的字符(用于脱敏)对lines进行分组处理对lines进行分组处理对分组后的数据进行再分组static String高亮显示关键字(所有匹配的字符都替换)static booleanisChinese(char c) 字符是否是中文static booleanisEn(char c) 是否是英文字母static boolean判断输入项是否为Ip地址static booleanisNumeric(char c) 是否是数字static boolean是否仅包含中文、英文和数字static boolean是否是科学计数法static boolean判断是否为合法IPmergeGroup(Map<String, Map<String, List<String>>> group, Function<String, String> moduleCommentFunction) 合并分组static booleanmobileValidate(String mobile) 手机验证static int只取字符串中的数字static long只取字符串中的数字static List<Texts.RegexQueryInfo> 注册查询static List<Texts.RegexQueryInfo> 正则查询static StringregReplace(String reg, String repstr, String instr) 正则替换封装(忽略大小写)static StringregReplace(String reg, String repstr, String instr, boolean ignoreCase) 正则替换封装static StringreplaceBlank(String str) 替换所有空白字符static StringreplaceChinese(String str, String str2) 替换字符串str中的中文为str2static String替换换行符为空格static StringreplaceUtf8Blank(String text) 替换utf-8中的空格,以免造成编码转换出现?static String[]stringTokenizer(String srcString, String tokenizerString) 适用于大型字符串分割,可以设置多个分隔符static String全角转半角static double增加一倍static int到intstatic long长static String字符截断。static String字符截断。static StringunescapeHtml(String str) 反替换html中的转义字符
-
Constructor Details
-
Texts
private Texts()文本
-
-
Method Details
-
escapeExprSpecialWord
转义正则特殊字符 ($()*+.[]?\^{},|)- Parameters:
keyword- 关键字- Returns:
String
-
isTrueIp
判断是否为合法IP- Parameters:
ipAddress- ip地址- Returns:
- boolean
-
isOnlyContainCnAndNumAndEn
是否仅包含中文、英文和数字- Parameters:
name- 名字- Returns:
- boolean
-
getCnAndNumAndEn
获得中英文和数字- Parameters:
source- 源- Returns:
String
-
checkPassWord
正则验证密码为数字和字母的组合,且为6位以上- Parameters:
passWord- 通过单词- Returns:
- boolean
-
cleanSpecialChar
清除特殊字符- Parameters:
str- str- Returns:
String
-
filterOffUtf8Mb4
过滤掉超过3个字节的UTF8字符- Parameters:
text- 文本- Returns:
String
-
emailValidate
邮箱验证- Parameters:
email- 电子邮件- Returns:
- boolean
-
mobileValidate
手机验证- Parameters:
mobile- 移动- Returns:
- boolean
-
replaceBlank
替换所有空白字符- Parameters:
str- str- Returns:
String
-
replaceLineBreakToSpacing
替换换行符为空格- Parameters:
str- str- Returns:
String
-
replaceUtf8Blank
替换utf-8中的空格,以免造成编码转换出现?的情况- Parameters:
text- 文本- Returns:
String
-
clearCss
去CSS- Parameters:
content- 内容- Returns:
String
-
regReplace
正则替换封装(忽略大小写)举例:regReplace("@+","","@@@123@") = 123 需要注意的是,正则表达式中如果出现特殊字符,需要进行转义。比如:*.$等。"\\$"进行转义- Parameters:
reg- 正则表达式repstr- 要替换为的字符instr- 原始字符串- Returns:
- 完成替换的字符串
-
regReplace
正则替换封装- Parameters:
reg- 正则表达式repstr- 要替换为的字符instr- 原始字符串ignoreCase- 是否忽略大小写- Returns:
String
-
regQuery
注册查询- Parameters:
reg- 注册instr- instr- Returns:
Listinvalid input: '<'Texts.RegexQueryInfo>- See Also:
-
regQuery
正则查询- Parameters:
reg- 正则表达式instr- 原始字符串ignoreCase- 是否忽略大小写- Returns:
- 返回自身与多个子匹配的信息
-
replaceChinese
替换字符串str中的中文为str2- Parameters:
str- strstr2- str2- Returns:
String
-
toDbc
全角转半角- Parameters:
input- 输入- Returns:
String
-
stringTokenizer
适用于大型字符串分割,可以设置多个分隔符举例: String[] s = stringTokenizer("wo; are, student", " ,;"); //s={wo,are,student}- Parameters:
srcString- 要分割的字符串tokenizerString- 分隔符- Returns:
- 分割后的数组
-
find
不忽略大小写- Parameters:
source- 源regEx- 注册前- Returns:
- boolean
- See Also:
-
find
用正则匹配,查找字符串中有没有相应字符举例:find("zfa_999_ic", "zfa_\\d+_ic") = true- Parameters:
source- 原字符串regEx- 正则表达式ignoreCase- 是否忽略大小写- Returns:
- 是否找到
-
highlight
public static String highlight(String source, String keyWord, String styleBefore, String styleAfter) 高亮显示关键字(所有匹配的字符都替换)- Parameters:
source- 原文本keyWord- 关键字styleBefore- 样式前,例如<font class='red'>styleAfter- 样式后,例如</font>- Returns:
String
-
getFirstLetter
获得字符串第一个字母如果为第一个字符为英文,则取出第一个字母
如果为第一个字符为汉字,则汉字转化为拼音,取第一个拼音字母
如果第一个字符(或之后)是符号,则从第二个字符开始,按照上面规则处理。后面字符还是符号,则递归处理
如果全是符号,则返回null- Parameters:
str- str- Returns:
String
-
containsChinese
判断字符串中是否包含汉字- Parameters:
s- 年代- Returns:
- boolean
-
getChinese
获得文本中的所有中文- Parameters:
content- 内容- Returns:
String
-
getFirstLetterArr
获取汉字的首字母集合(如果字符串中有非中文,将被舍弃)- Parameters:
str- str- Returns:
String
-
getHanyupinyin
得到汉字的拼音- Parameters:
content- 内容- Returns:
- 拼音都为小写不带声调
-
getHanyupinyin
得到汉字的拼音- Parameters:
content- 汉字type- 1、拼音都为小写且带声调;2、拼音都为小写不带声调;3、拼音首字母大写不带声调;- Returns:
String
-
isEn
public static boolean isEn(char c) 是否是英文字母- Parameters:
c- c- Returns:
- boolean
-
isNumeric
public static boolean isNumeric(char c) 是否是数字- Parameters:
c- c- Returns:
- boolean
-
isChinese
public static boolean isChinese(char c) 字符是否是中文- Parameters:
c- c- Returns:
- boolean
-
isScientificNotation
是否是科学计数法- Parameters:
str- str- Returns:
- boolean
-
getGroups
获得组- Parameters:
regex- 正则表达式source- 源- Returns:
String- See Also:
-
getGroups
和JavaScript中RegExp对象的exec()方法一样
只返回第一个匹配的结果,数组中第一个元素包含正则表达式匹配的字符串,余下的元素是与圆括号内的子表达式相匹配的子串- Parameters:
regex- 正则表达式source- 源字符串ignoreCase- 是否区分大小写- Returns:
String
-
getGroup
获取匹配到的文本- Parameters:
regex- 正则表达式source- 源- Returns:
String
-
getGroup
获取匹配到的文本- Parameters:
regex- 正则表达式source- 源ignoreCase- 忽略大小写- Returns:
String
-
group
public static Map<String,List<String>> group(List<String> lines, Function<String, String> groupFunction) 对lines进行分组处理- Parameters:
lines- 数据groupFunction- 获得group name的function:入参为line,返回groupName- Returns:
- 分组后的lines
-
group
public static Map<String,List<String>> group(List<String> lines, Function<String, String> groupFunction, boolean allowRepeat) 对lines进行分组处理- Parameters:
lines- 数据groupFunction- 获得group name的function:入参为line,返回groupNameallowRepeat- 是否允许重复,如果为false,有重复元素的话会抛出RepeatException- Returns:
- 分组后的lines
-
groupAgain
public static Map<String,Map<String, groupAgainList<String>>> (Map<String, List<String>> group, Function<String, String> groupFunction) 对分组后的数据进行再分组- Parameters:
group- 分组后的数据groupFunction- 获得sub group name的function:入参为组下元素,返回sub group name- Returns:
- 再分组后的数据
-
mergeGroup
public static List<String> mergeGroup(Map<String, Map<String, List<String>>> group, Function<String, String> moduleCommentFunction) 合并分组 -
format
格式化字符串,仿C#。或直接用{},仿log.info()进阶版的MessageFormat#format()
str = Hello {0} result = format(str,"World!") #result = Hello World!- Parameters:
pattern- 待匹配字符串params- 参数数组- Returns:
String
-
generateAtag
生成a标签- Parameters:
href- hreftitle- 标题blank- 空白- Returns:
String
-
truncate
字符截断。如果超出某个长度,则后跟‘...’。默认英文字符按照0.5个长度计算,中文字符按照一个长度计算- Parameters:
source- 原始字符trancationNum- 截断的字符数- Returns:
String
-
truncate
字符截断。如果超出trancationNum,则后跟‘...’- Parameters:
source- 原始字符trancationNum- 截断的字符数calcEnLen- 是否英文字符按照0.5个长度计算- Returns:
String
-
toLong
长- Parameters:
source- 源- Returns:
- long
- See Also:
-
toDouble
增加一倍- Parameters:
source- 源- Returns:
- double
- See Also:
-
toInt
到int- Parameters:
source- 源- Returns:
- int
- See Also:
-
parseInt
只取字符串中的数字- Parameters:
source- 源- Returns:
- int
-
parseLong
只取字符串中的数字- Parameters:
source- 源- Returns:
- int
-
capitalize
首字母大写- Parameters:
str- str- Returns:
String
-
getHideName
获得遮掩的名称,用**表示中间的字符(用于脱敏)- Parameters:
source- 源- Returns:
String
-
getHideName
获得遮掩的名称,用**表示中间的字符(用于脱敏)- Parameters:
source- 源num- :中间*的个数prefixNum- :*前面显示的个数suffixNum- :*后面显示的个数- Returns:
String
-
isIp
判断输入项是否为Ip地址- Parameters:
ipAddress- ip地址- Returns:
- boolean
-
unescapeHtml
反替换html中的转义字符- Parameters:
str- str- Returns:
String
-
compareVersion
版本号比较- Parameters:
version1- version1version2- version2- Returns:
- 0 相等,1 大于,-1 小于
-