1. 字符串常用方法
1.1 转换方法
- 1.1.1 转字符数组:
toCharArray(),返回 char[]
char[] charArray = str.toCharArray();
- 1.1.2 转字节数组:
getBytes(),返回 byte[]
byte[] bytes = str.getBytes();
1.2 查找方法
- 1.2.1 按索引取字符:
charAt(int index),返回指定索引处的字符
char c = str.charAt(10);
- 1.2.2 查找首次出现位置:
indexOf(String str),返回第一次出现的索引值,找不到返回 -1
int index = str.indexOf("qqq"); // 找不到返回 -1
- 1.2.3 查找最后出现位置:
lastIndexOf(String str),返回最后一次出现的索引值
int i = str.lastIndexOf("西川");
- 1.2.4 判断是否包含:
contains(String str),返回 boolean
boolean boo = str.contains("西川");
1.3 判断方法
- 1.3.1 判断开头:
startsWith(String prefix),返回 boolean
boolean b = str.startsWith("体挂西川");
- 1.3.2 判断结尾:
endsWith(String suffix),返回 boolean
boolean b1 = str.endsWith("连环铠");
- 1.3.3 判断是否为空字符串:
isEmpty(),只判断长度是否为 0,空格不算空
String str1 = " ";
System.out.println(str1.isEmpty()); // false,空格不算空
System.out.println(str1.length()); // 12
1.4 修改方法
- 1.4.1 替换:
replace(old, new),返回替换后的新字符串,原字符串不变
String replace = str.replace("兽面", "人心");
- 1.4.2 截取:
substring(int begin) 从指定位置截取到末尾;substring(int begin, int end) 截取指定范围,含头不含尾
String s1 = str.substring(5); // 从索引5截取到末尾
String s2 = str.substring(5, 10); // 截取索引5到9
- 1.4.3 拆分:
split(String regex) 按指定字符拆分,返回 String[];可传第二个参数限制拆分数量
String[] qs = str.split("q");
String[] strings = str.split("q", 10086); // 最多拆分10086份
str1.toUpperCase(); // 全部转大写
str1.toLowerCase(); // 全部转小写
- 1.4.5 去除首尾空格:
trim(),只去除首尾,中间空格保留
str1.trim();
- 1.4.6 拼接:
concat(String str),拼接字符串,等效于 +
str1.concat("newChar");
2. 示例代码
package com.itszt.day04;
import java.util.Arrays;
public class Demo06 {
public static void main(String[] args) {
String str = "体挂西川q红锦百花袍,身披兽q面吞头q连环铠西川";
// 转换
char[] charArray = str.toCharArray();
System.out.println(Arrays.toString(charArray));
char c = str.charAt(10);
System.out.println("c = " + c);
byte[] bytes = str.getBytes();
System.out.println(Arrays.toString(bytes));
// 判断
System.out.println(str.startsWith("体挂西川红锦百花袍")); // false
System.out.println(str.endsWith("连环铠")); // false
System.out.println(str.contains("西川")); // true
// 替换
String replace = str.replace("兽面", "人心");
System.out.println("replace = " + replace);
System.out.println(str); // 原字符串不变
// 截取
System.out.println(str.substring(5));
System.out.println(str.substring(5, 10));
// 拆分
String[] qs = str.split("q");
System.out.println(Arrays.toString(qs));
// 查找
System.out.println(str.indexOf("qqq")); // -1
System.out.println(str.lastIndexOf("西川"));
// 判空
String str1 = " ";
System.out.println(str1.isEmpty()); // false
System.out.println(str1.length()); // 12
// 大小写 / 去空格 / 拼接
str1 = " qwertyua sdASDFGH ";
System.out.println(str1.toUpperCase());
System.out.println(str1.toLowerCase());
System.out.println(str1.trim());
System.out.println(str1.concat("newChar"));
}
}
3. 总结
| 方法 | 作用 | 返回类型 |
|---|
toCharArray() | 转字符数组 | char[] |
getBytes() | 转字节数组 | byte[] |
charAt(index) | 取指定索引字符 | char |
indexOf(str) | 首次出现位置,找不到返回 -1 | int |
lastIndexOf(str) | 最后出现位置 | int |
contains(str) | 是否包含 | boolean |
startsWith(str) | 是否以指定内容开头 | boolean |
endsWith(str) | 是否以指定内容结尾 | boolean |
isEmpty() | 是否为空字符串(长度为0) | boolean |
replace(old, new) | 替换内容,原串不变 | String |
substring(begin) | 从指定位置截取到末尾 | String |
substring(begin, end) | 截取指定范围,含头不含尾 | String |
split(str) | 按指定字符拆分 | String[] |
toUpperCase() | 转大写 | String |
toLowerCase() | 转小写 | String |
trim() | 去除首尾空格 | String |
concat(str) | 拼接字符串 | String |