1 String(java.lang.String)**
不可变的字符串对象,尽量少使用+=操作
字符串转义符号为 \
常见的转义字符 转移字符对应的英文是escape character ,
转义字符串(Escape Sequence)
字母前面加上捺斜线""来表示常见的那些不能显示的ASCII字符.称为转义字符.如\0,\t,\n等,就称为 转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
常用方法
1. length() 字符个数
2. equals equalsIgnoreCase方法
3. trim方法
4. substring方法
5. concat()方法用于将指定的字符串参数连接到字符串上。
6. contains() 判断是否包括某字符串
7. indexOf()返回子串的位置索引,没有返回-1
8. lastIndexOf() 返回子串的位置索引,没有返回-1
9. replace()替换返回
10. split()拆分为String[]
11. toLowerCase() toUpperCase()转换小写大写
2 StringBuilder、StringBuffer
它们都是可变字符串,使用上功能上基本一样,StringBuilder不支持多线程(非线程安全),它们 都支持动态修改。
3 正则表达式**
正则表达式定义了字符串的模式,本质是一种特殊的字符串对象。
正则表达式可以用来搜索、编辑或处理文本。
正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
正则表达式实例 一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 "Hello World" 字 符串。
.(点号)也是一个正则表达式,它匹配任何一个字符如:“a” 或 “1”
4 文本块(Text Blocks)
5 StringUtils工具类:
1.public static boolean isEmpty(String str);判断某字符串是否为空,为空的标准是str==null或str.length()==0
示例:StringUtils.isEmpty(null)=true;StringUtils.isEmpty("")=true;
2.public static boolean isNotEmpty(String str);判断某字符串是否非空,等于!isEmpty(String str);
示例:StringUtils.isNotEmpty(null)=false;StringUtils.isNotEmpty("")=false;
3.public static boolean isBlank(String str);判断某字符串是否为空或长度为0或由空字符(whitespace)构成
示例:StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("\t \n \f \r") = true //对于制表符、换行符、换页符和回车符
4.public static boolean isNotBlank(String str);判断某字符串是否不为空且长度不为0且不由空字符串(whitespace)构成,等于!isBlank(String str);
5.public static String trim(String str);去掉两端的控制符(control characters, char<=32),如果输入null,则返回null
示例:
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("\t \n \f \r") = true //对于制表符、换行符、换页符和回车符
6.public static String trimToNull(String str);去掉字符串两端的控制符(control characters,char<=32),如果变为null或"",则返回null
示例:
StringUtils.trimToNull(null) = null
StringUtils.trimToNull("") = null
StringUtils.trimToNull(" ") = null
StringUtils.trimToNull(" \b \t \n \f \r ") = null
StringUtils.trimToNull(" \n\tss \b") = "ss"
StringUtils.trimToNull(" d d dd ") = "d d dd"
StringUtils.trimToNull("dd ") = "dd"
7.public static String trimToEmpty(String str)去掉字符串两端的控制符(control characters, char<=32),如果变为null或"",则返回""
示例:
StringUtils.trimToEmpty(null) = ""
StringUtils.trimToEmpty("") = ""
StringUtils.trimToEmpty(" ") = ""
StringUtils.trimToEmpty(" \b \t \n \f \r ") = ""
StringUtils.trimToEmpty(" \n\tss \b") = "ss"
StringUtils.trimToEmpty(" d d dd ") = "d d dd"
StringUtils.trimToEmpty("dd ") = "dd"
StringUtils.trimToEmpty(" dd ") = "dd"
8. public static String strip(String str);去掉字符串两端的空白符(whitespace) ,如果输入为 null 则返回 null
下面是示例(注意和 trim() 的区别):
StringUtils.strip(null) = null
StringUtils.strip("") = ""
StringUtils.strip(" ") = ""
StringUtils.strip(" \b \t \n \f \r ") = "\b"
StringUtils.strip(" \n\tss \b") = "ss \b"
StringUtils.strip(" d d dd ") = "d d dd"
StringUtils.strip("dd ") = "dd"
StringUtils.strip(" dd ") = "dd"
9. public static String stripToNull(String str);去掉字符串两端的空白符(whitespace) ,如果变为 null 或"",则返回 null
下面是示例(注意和 trimToNull() 的区别):
StringUtils.stripToNull(null) = null
StringUtils.stripToNull("") = null
StringUtils.stripToNull(" ") = null
StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"
StringUtils.stripToNull(" \n\tss \b") = "ss \b"
StringUtils.stripToNull(" d d dd ") = "d d dd"
StringUtils.stripToNull("dd ") = "dd"
StringUtils.stripToNull(" dd ") = "dd"
10. public static String stripToEmpty(String str) 去掉字符串两端的空白符(whitespace) ,如果变为 null 或"" ,则返回""
下面是示例(注意和 trimToEmpty() 的区别):
StringUtils.stripToNull(null) = ""
StringUtils.stripToNull("") = ""
StringUtils.stripToNull(" ") = ""
StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"
StringUtils.stripToNull(" \n\tss \b") = "ss \b"
StringUtils.stripToNull(" d d dd ") = "d d dd"
StringUtils.stripToNull("dd ") = "dd"
StringUtils.stripToNull(" dd ") = "dd"
11. public static String strip(String str, String stripChars); 去掉 str 两端的在 stripChars 中的字符。如果 str 为 null 或等于"" ,则返回它本身;如果 stripChars 为 null 或"" ,则返回 strip(String str) 。
12. public static String stripStart(String str, String stripChars);和11相似,去掉 str 前端的在 stripChars 中的字符。
13. public static String stripEnd(String str, String stripChars);和11相似,去掉 str 末端的在 stripChars 中的字符。
14. public static String[] stripAll(String[] strs) 对字符串数组中的每个字符串进行 strip(String str) ,然后返回。如果 strs 为 null 或 strs 长度为0,则返回 strs 本身
15. public static String[] stripAll(String[] strs, String stripChars);对字符串数组中的每个字符串进行 strip(String str, String stripChars) ,然后返回。如果 strs 为 null 或 strs 长度为0,则返回 strs 本身
16. public static boolean equals(String str1, String str2);比较两个字符串是否相等,如果两个均为空则也认为相等。
17. public static boolean equalsIgnoreCase(String str1, String str2);比较两个字符串是否相等,不区分大小写,如果两个均为空则也认为相等。
18. public static int indexOf(String str, char searchChar);返回字符 searchChar 在字符串 str 中第一次出现的位置。
如果 searchChar 没有在 str 中出现则返回-1,
如果 str 为 null 或 "" ,则也返回-1
19. public static int indexOf(String str, char searchChar, int startPos);返回字符 searchChar 从 startPos 开始在字符串 str 中第一次出现的位置。
如果从 startPos 开始 searchChar 没有在 str 中出现则返回-1,
如果 str 为 null 或 "" ,则也返回-1
20. public static int indexOf(String str, String searchStr) 返回字符串 searchStr 在字符串 str 中第一次出现的位置。
如果 str 为 null 或 searchStr 为 null 则返回-1,
如果 searchStr 为 "" ,且 str 为不为 null ,则返回0,
如果 searchStr 不在 str 中,则返回-1
21. public static int ordinalIndexOf(String str, String searchStr, int ordinal) 返回字符串 searchStr 在字符串 str 中第 ordinal 次出现的位置。
如果 str=null 或 searchStr=null 或 ordinal<=0 则返回-1
举例(*代表任意字符串):