字符串常用方法
其他字符串工具还有:
Modifiers | Name | Description |
---|---|---|
static java.text.Collator |
collator |
用于本地语言(如中文)排序/比较的Collator |
Type | Name and description |
---|---|
static int |
FNVHash1(CharSequence data) 改进的32位FNV算法1,给字符串生成一个Hash码 |
static String |
addUnderscores(String name) 字符串转换:大写前面加_,大写改成小写 |
static int |
compare(String a, String b) 字符串排序:顺序,支持中文 |
static String |
escapeXML(String text) 将"<"等字符转换成转义字如"<" |
static String |
formatRevision(String revision, Integer sections, Integer numbers, Integer suffixNumbers = null, String defaultVer = '' ) 格式化多段式的数字版本号 |
static String |
fromBase64(String str) 解码Base64编码的字符串 |
static String |
fromInputStream(java.io.InputStream is, String charset = "utf-8", Boolean close = false ) 将 InputStream 转成字符串 |
static Object |
fromJson(Object json, Class clazz) 使用Gson来转换JSON |
static String |
fromXmlDocument(org.w3c.dom.Document dom, String charset = "UTF-8" ) 将 org.w3c.dom.Document 转成字符串源码 |
static String |
getThrowableStackTrace(Throwable e) 将Java异常的堆栈信息格式化成字符串 |
static String |
getThrowableStacktrace(Throwable e) |
static Integer |
length(String s) 等同于lengthb |
static Integer |
lengthb(String s) 计算字符串的字节长度,如中文算两个字符 |
static Object |
means(Object obj, Object nullVal = null, Object unmatchedVal = null ) 判断一个对象是否意味着true/false/null。 |
static String |
prettifyJson(Object uglyJSONString) 美化JSON代码 |
static String |
prettifyXml(String xml) 美化XML代码 |
static String |
removeUnderscores(String name) 字符串转换:_后的字母转成大写,删除_,其余全部转成小写 |
static String |
replace(String text, String searchString, String replacement) Replaces all occurrences of a String within another String. |
static String |
replaceEach(String text, String[] searchList, String[] replacementList) Replaces all occurrences of Strings within another String. |
static String |
replaceEach(String text, List<String> searchList, List<String> replacementList) |
static String |
replaceEachRepeatedly(String text, String[] searchList, String[] replacementList) Replaces all occurrences of Strings within another String. |
static String |
replaceEachRepeatedly(String text, List<String> searchList, List<String> replacementList) |
static String |
simplifyRevision(String revsion) 简化多段式的数字版本号,删除每段0前缀,如 001.001.001 简化后为 1.1.1 |
static String |
toBase64(String str) 将字符串编码成Base64 |
static String |
toJson(Object source, Class clazz = null ) 使用Gson来转换JSON |
static String |
toUnicode(String theString) 将字符串转换成 UNICODE 编码 |
static String |
truncate(String s, Integer lengthb, String blabla = null) 截断字符串,仅保留指定长度的字符,并且可以在截断的字符串后面再接上某些后缀(如省略号) |
static String |
uuid(String source = null ) 调用 java.util.UUID 生成一个大写的、36位的UUID |
static String |
uuid8() 生成一个由大小写字母、数字等字符组成的、8位的UUID |
Methods inherited from class | Name |
---|---|
class Object |
Object#wait(long), Object#wait(long, int), Object#wait(), Object#equals(Object), Object#toString(), Object#hashCode(), Object#getClass(), Object#notify(), Object#notifyAll() |
改进的32位FNV算法1,给字符串生成一个Hash码
data
- 字符串字符串转换:大写前面加_,大写改成小写
复制自:org.hibernate.cfg.ImprovedNamingStrategy
字符串排序:顺序,支持中文
将"<"等字符转换成转义字如"<"
格式化多段式的数字版本号
version
- 版本字符串sections
- 段数,如3表示 x.y.znumbers
- 每段的数字个数,不足用0补suffixNumbers
- 最后一段的数字个数,不足用0补;如果为空,则等于numbersdefaultVer
- version 为空时的默认返回值解码Base64编码的字符串
将 InputStream 转成字符串
is
- 输入流对象charset
- 字符集,默认为 utf-8close
- 转换完毕后,是否关闭流使用Gson来转换JSON
相对Grails自带的转换器,不会有 org.codehaus.groovy.grails.web.json.JSONObject$Null 的问题。 参考:https://sites.google.com/site/gson/gson-user-guide
json
- json字符串clazz
- 转换后的对象类型将 org.w3c.dom.Document 转成字符串源码
dom
- 文档对象charset
- 字符集,默认为 "UTF-8",如果为空则取系统属性 file.encoding将Java异常的堆栈信息格式化成字符串
等同于lengthb
计算字符串的字节长度,如中文算两个字符
s
- 需要计算的字符串判断一个对象是否意味着true/false/null。
尤其是针对字符串形式的:不为0的数字、true、yes、y都表示真;0、false、no、n都表示假;空、undefined或null一般表示什么都不是。
这种判断一般出现在某些配置上,所以用了means这个名称。
obj
- 需要判断的对象nullVal
- 当obj为null、或表示空的字符串(''、null、undefined)时的返回值,默认为 nullunmatchedVal
- 当obj是字符串,但不是真(1/true/yes/y等)、但也不是假(0/false/no/n)的时候,要返回的值,默认为 Boolean.TRUE美化JSON代码
注意一些符号可能会被转成 /uXXXX 的形式,但不影响使用
美化XML代码
字符串转换:_后的字母转成大写,删除_,其余全部转成小写
Replaces all occurrences of a String within another String.
和 Java 的 String.replace 方法的主要区别是不会抛出空指针异常,
参考:http://commons.apache.org/lang/api/org/apache/commons/lang3/StringUtils.html#replace%28java.lang.String,%20java.lang.String,%20java.lang.String%29
Replaces all occurrences of Strings within another String.
A null reference passed to this method is a no-op, or if any "search string" or "string to replace" is null, that replace will be ignored.
This will not repeat. For repeating replaces, call the replaceEachRepeatedly method.
参考:http://commons.apache.org/lang/api/org/apache/commons/lang3/StringUtils.html#replace%28java.lang.String,%20java.lang.String,%20java.lang.String%29
Replaces all occurrences of Strings within another String.
A null reference passed to this method is a no-op, or if any "search string" or "string to replace" is null, that replace will be ignored.
简化多段式的数字版本号,删除每段0前缀,如 001.001.001 简化后为 1.1.1
将字符串编码成Base64
使用Gson来转换JSON
参考:https://sites.google.com/site/gson/gson-user-guide
将字符串转换成 UNICODE 编码
截断字符串,仅保留指定长度的字符,并且可以在截断的字符串后面再接上某些后缀(如省略号)
s
- 要处理的字符串lengthb
- 目标的字节长度,中文算两个字符blabla
- 截断后,要添加的后缀,如“...”,默认为空调用 java.util.UUID 生成一个大写的、36位的UUID
source
- 只要源字符串相同,生成的UUID也一样;如果为空,则生成随机的UUID生成一个由大小写字母、数字等字符组成的、8位的UUID
相对uuid方法生成的字符串,不会非常严谨,因此不要用于唯一标识。