Java字符串【String】---略解
Java字符串【String】—略解
构造方法
| 表达式 | 释义 | 注意 |
|---|---|---|
| String a = “abc”; | 作为基本类型处理:【推荐方法】 | |
| String a = new String (“abc”).intern(); | 将新的字符对象放进java虚拟机的常量区;作用和上面一样 | |
| String a = new String(“abc”) | 作为引用类型处理 | |
| String a = new String(char[] chars); | 用字符数组构造字符串对象 | |
| String a = new String (byte[], CharSet cs) | 用字节数组和字符集构造字符串对象 | 如果字节数组中包含中文字节,字符集两端不一致会导致【中文乱码】 |
静态方法
String val = String.valueOf( Xxx obj); 【必须掌握】
拼接
格式化字符串
| 表达式 | 释义 | 注意 |
|---|---|---|
| String concat = String.format(“%x,…”, v1,…,vn); | %s —String|%c —char| %d—double| %.nf —float | 复用性底 |
| String concat = MessageFormat.format(“{0}…{n}”,v1,…,vn)) | 坑位可复用 / 少量已知字符串拼接 | 推荐使用 |
| + | 不推荐使用 |
1 | |
对象方法
String str = …; 【必须掌握】
| 表达式 | 释义 | 注意 |
|---|---|---|
| byte[] bytes = str.getBytes(CharSet cs); | 将str根据指定字符集转化为字节数组 | |
| int length = str.length(); | 获取字符串的长度 | |
| char[] arr = str.toCharArray(); | 将字符串转化为字符数组 |
1 | |
String—比较
| 表达式 | 注释 | 注意 |
|---|---|---|
| boolean equals = str.equals(String anotherString); | 内容等值比较 | 区分大小写 |
| boolean equals = str.equalsIgnoreCase(String anotherString); | 内容等值比较 | 不区分大小写 |
| boolean yes = str.startwith(String prefix) | str是否以prefix开始 | |
| boolean yes = str.endwith(String suffix) | str是否以suffix结束 | |
| boolean yes = str.contains (String midfix) | str是否包含midfix | |
| boolean yes = str.matches(String regex) | str是否匹配正则表达式 | 常用于验证 |
String—截取
| 表达式 | 释义 | 注意 |
|---|---|---|
| char sign = str.charAt(int index) | 获取指定下标位置的字符 | |
| String subStr = str.subString(int beginIndex[ , int endIndex]); | 截取str从beginIndex开始,至endIndex截止的所有类容 | 左闭右开 |
String—分割
| 表达式 | 释义 | 注意 |
|---|---|---|
| String[] parts = str.split(String regex); | 以参数指定的分隔符,将字符串分割为字符串数组 | 1、字符串分隔符和正则冲突,则需要转义(. —> \\.) |
| 2、 多符号分割(char01 | char02 | char03|…) |
String—查找
【从指定位置fromIndex开始(包含)】找到arg在str中的位置
如果不存在返回-1
否则返回 0~str.length()-1
| 表达式 | 释义 | 注意 |
|---|---|---|
| int index = str.indexOf(char/String arg[ , int fromIndex]); | 返回字符串中给定首字符第一次出现的下标 | 从0 ~ 找 |
| int index = str.lastIndexOf(char/String arg[ , fromIndex]); | 返回字符串中给定首字符最后一次出现的下标 | 从str.length()-1 ~ 找 |
String—替换
| 表达式 | 释义 | 注意 |
|---|---|---|
| String afterReplace = str.replaceFirst(String regex, String replacement); | 替换第一次出现的字符 | |
| String afterReplace = str.replace(char from, char to); | 将str中字符替换成指定的字符 | |
| String afterReplace = str.replace(String regex, String replacement); | 将str中字符替换成指定符合正则表达式的字符 | |
| String afterReplace = str.replaceAll(String regex,String replacement); | 替换字符出现的每一次符合正则表达式的字符 |
String—大小写转换
| 表达式 | 释义 | 注意 |
|---|---|---|
| String upper = str.toUpperCase(); | 将str中的字符全部大写 | |
| String lower = str.toLowerCase(); | 将str中的字符全部小写 | |
String—去空
| 表达式 | 释义 | 注意 |
|---|---|---|
| String trim = str.trim(); | 删除字符串两端的空格 |
下面附上代码:
1 | |
Java正则
String regex = “…”;
| 表达式 | 释义 | 注意 |
|---|---|---|
| ^ | 开启匹配 | |
| $ | 结束匹配 | |
| 【一个什么样的符号】 | ||
| [0-9] | 表示一个数字 0-9的数字 | : |
| [a-z] | 表示的是一个小写的字母 | |
| [A-Z] | 表示的是一个大写的字母 | |
| [\u4e00-\u9fa5] | 表示的是一个汉字 | |
| [0-9a-zA-Z] | 表示数字、大小写字母、下划线 | |
| . | 表示的是一个非空内容 | |
| \ | 转义符 | |
| \\s | 表示的是一个空内容 | |
| \\S | 表示的是一个非空内容 | |
| \\d | 是一个数字 | |
| \\D | 不是一个数字 | |
| \\w | 括号中的内容(表示数字、大小写字母、下划线)皆可 | |
| \\W | 括号中的内容(表示数字、大小写字母、下划线)不可 | |
| 【多少个什么样的符号】 | ||
| sign{m, n} | 表示的是前一个或一组符号至少出现m次,最多出现n次; | 定义符号出现的上下限 |
| eg: | ||
| {1,} | 至少一次 | + |
| {0,1} | 至多一次 | ? |
| {0,} | 任意次 | * |
| 【特殊语法】 | ||
| | | 或者 | |
| () | 组合 | |
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!