String类的20种常见方法及作用
String类的20种常见方法
和长度有关的方法
返回类型 方法名 作用 int length() 得到一个字符串的字符个数(一个中文是一个字符,一个英文是一个字符,一个转义字符是一个字符)。
和数组有关的方法
返回类型 方法名 作用 byte[] getBytes() 将一个字符串转换成字节数组 char[] toCharArray() 将一个字符串转换成字符数组 String[] split(String) 将一个字符串按照指定内容劈开。
和判断有关的方法
返回类型 方法名 作用:
boolean equals(String) 判断两个字符串的内容是否一模一样。
boolean equalsIgnoreCase(String) 忽略大小写的比较两个字符串的内容是否一模一样。
boolean contains(String) 判断一个字符串里面是否包含指定的内容。
boolean startsWith(String) 判断一个字符串是否以指定的内容开头。
boolean endsWith(String) 判断一个字符串是否以指定的内容结尾。
和改变内容有关的方法
和改变内容有关的方法,都不会直接操作原本的字符串 而是将符合条件的字符串返回给我们,所以注意接收 返回类型 方法名及 作用:
String toUpperCase() 将一个字符串全部转换成大写。
String toLowerCase() 将一个字符串全部转换成小写。
String replace(String,String) 将某个内容全部替换成指定内容。
String replaceAll(String,String) 将某个内容全部替换成指定内容,支持正则。
String repalceFirst(String,String) 将第一次出现的某个内容替换成指定的内容。
String substring(int) 从指定下标开始一直截取到字符串的最后。
String substring(int,int) 从下标x截取到下标y-1对应的元素。
String trim() 去除一个字符串的前后空格。
和位置有关的方法
返回类型 方法名 作用
char charAt(int) 得到指定下标位置对应的字符。
int indexOf(String) 得到指定内容第一次出现的下标。
int lastIndexOf(String) 得到指定内容最后一次出现的下标。
例子:
```java
public class Test01{
public static void main(String[] args) {
String str = "吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮";
//请用N种方法统计 葡萄 出现的次数
//第一种
String str1 = str.replace("葡萄"," ");
char[] data = str1.toCharArray();
int count = 0; for(char a : data){
if(a == ' '){
count++;
} }
System.out.println(count);
// 第二种
int count1 = 0;
int x = 0;
while(x != -1) {
x = str.indexOf("葡萄");
if(x != -1){
count1++;
str = str.replaceFirst("葡萄","");
} }
System.out.println(count1);
// 第三种
String strX = "吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮";
for(int i = 0; i < str.length() ; i++){
if(strX.contains("葡萄")) {
strX = strX.replaceFirst("葡萄","");
}
else{
System.out.println(i);
break;
} }
//第四种
String strY = "吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮";
String[] datas = strY.split("葡萄");
if(!strY.endsWith("葡萄")){
//这里startsWith("葡萄")在split时,会在开头产生空串
System.out.println(datas.length -1);
}else{
System.out.println(datas.length);
}
//第五种
String strm = "吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮";
int countSo = 0; int j = 0;
while(j != -1) {
j = strm.indexOf("葡萄");
if(j != -1){
if((j+2) < strm.length()) {
strm = strm.substring(j+2);
}
countSo++;
} }
System.out.println(countSo);
// 第六种
String strn = "吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮";
String str2 = strn.replace("葡萄","");
System.out.println((strn.length() - str2.length())/2);
}
}