String的常用方法
比较方法
s1.equals(s2) 要区分大小写比较两个字符串的内容是否相同
s1.equalsIgnoreCase(s2) 不区分大小写比较两个字符串的内容是否相同
s1.compareTo(s2) 先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值。如果前k个字符相等(k为两个字符长度最小值),返回值等于两个字符串长度差值
s1.compareToIgnoreCase(s2)同上面一样,只不过不区分大小写
查找方法
indexOf(int ch) 返回字符在字符串中第一次出现的位置,如果该字符不在字符串中,则返回-1
lastindexOf(int ch) 返回字符在字符串中最后一次出现的位置,如果该字符不在字符串中,则返回-1
charAt(int index) 返回字符串中特定位置的字符,如果index为负或者越界,抛出异常
字符串转化
s1 = String.valueof(s2) 将数值s2转化为字符串
s1 = Integer.parselnt(s2) 将字符串s2转化为数值
s1.toUpperCase() 将小写字符串转换成大写字符串
s1.toLowerCase() 将大写字符串转换成小写字符串
char[] ch = s.toCharArray() 将字符串s转换为字符数组ch
s = String.format("%d-%d-%d",2019,9,14) 格式化字符串
字符串替换
str.replaceAll(String A,String B) 将字符串里面的字符串A全部替换为字符串B
str.replaceFrist(String A,String B) 将字符串里面的首个字符串A替换为字符串B
str.replace(char A,char B) 将字符串里面的A,全部替换为B
字符串拆分
String[] result = str.split("A") 将字符串str按照字符串A拆分
String str = "hello world hello bit";
String[] result = str.split(" ");
for (String s:result) {
System.out.println(s);
}
String[] split(String regex,int limit) 将字符串以指定的格式,拆分为limit组
String str = "hello world hello bit";
String[] result = str.split(" ",2);
for (String s:result) {
System.out.println(s);
}
注意:
1.字符"|","*","+"在拆分的时候,前面都要加上"\\"
2.如果是"\",那么就得写成"\\\\"
3.如果一个字符中有多个分隔符,就可以用"|"作为连字符
for(int i = 0;i< result.length;i++){
String[] temp = result[i].split("=");
System.out.println(temp[0]+"="+temp[1]);
}
字符串截取
String substring(int beginIndex) 从指定索引截取到尾巴
String substring(int beginIndex,int endIndex) 截取部分类容
其他操作
String trim() 去掉字符串中的左右空格,保留中间空格
int len = s1.length() 计算字符串长度
String s1 = concat(String s2) 将指定的字符串连接在字符串的末尾
String s1 = "宝玉";
s1 = s1.concat("林黛玉").concat("薛宝钗");
System.out.println(s1);//宝玉林黛玉薛宝钗
String的构造方法
方式一:直接赋值String s = "wanglei";
方式二:调用构造器String s = new String("西华大学");
StringBuffer的构造方法
StringBuffer jack = new StringBuffer("jack");
StringBuffer和String的相互转换
String hobit = "打篮球";
//方式一:使用构造器
StringBuffer stringBuffer = new StringBuffer(hobit);
//方式二:使用append方法
StringBuffer stringBuffer1 = new StringBuffer();
stringBuffer1 = stringBuffer1.append(hobit);
//StringBuffer--》String
StringBuffer buffer = new StringBuffer("四川西华大学");
//方式一:使用StringBufferr提供的toString方法
String s = buffer.toString();
//方式二:使用构造起来搞定
String s1 = new String(buffer);
StringBuffer的常用方法
s.append(); 增加
s.delete(start,end); 删除索引为>=start&&<end处的字符
s.replaxe(start,end,"A") 将索引为>=start&&<end处的字符改为A
s.insert(index,"A") 在索引为index的位置插入"A",原来索引为index的类容自动后移
StringBuffer animal = new StringBuffer("小猫");
//增
System.out.println(animal.append(','));//小猫,
System.out.println(animal.append("正在跳舞 "));//小猫,正在跳舞
System.out.println(animal.append("小狗").append(',').append("正在睡觉"));
//删
//删除的时候是前闭后开的
String res = new String(animal.delete(2, 4));
System.out.println(res);
System.out.println(animal);
//改
//修改的时候也是前闭后开的
System.out.println(animal.replace(0, 2, "小鸟"));//小鸟,正在跳舞 小狗,正在睡觉
//插入
System.out.println(animal.insert(0, "愤怒的"));//愤怒的小鸟,正在跳舞 小狗,正在睡觉,在索引为0的位置插入“愤怒的”原来索引为0的内容开始后移
StringBuilder的常用方法
s1.setCharAt(int index,char ch) 将index位置的字符设置为ch
s1.indexOf(String str,int formIndex) 从fromIndex位置开始查找str第一次出现的位置
s1.deleteCharAt(int index) 删除index位置字符
s1.reverse() 字符串反转
其他很多方法都和String、StringBuffer一样