了解字符串的常见方法前,先回忆一下什么是字符串。
//字符与字符串
// char(字符):基本数据类型,仅能保存1个字符,使用"包围
// string(字符串):引用数据类型,能保存O-N个字符,使用""包围
public class cheshi {
public static void main(String[] args) {
char c1 = 'G';
char c2 = (char) (c1 + 32);// 字符'G'的编码值基础上+32,计算结果为小写g
System.out.println(c2);
String s = "ZZZ";
s.length(); // 调用方法(函数),对当前字符串进行处理
}
}
目录
方法2:截取 charAt()方法、substring()方法
方式3: toUpperCase()或toLowerCase()方法
方法1:length()方法
作用:获取字符串长度
String s="zxcvbn";
System.out.println("当前字符串长度:"+s.length());
方法2:截取 charAt()方法、substring()方法
charAt()方法 作用:获取当前字符串中指定下标位置的字符
String s1 = "大漠孤烟直,长河落日圆";
char first = s1.charAt(0); // 获取首字符
char last = s1.charAt(s1.length() - 1);// 获取尾字符
char chs4 = s1.charAt(3);// 获取第4个字符
System.out.println("首字母:" + first);
System.out.println("尾字母:" + last);
System.out.println("第4个字符:" + chs4);
substring()方法 作用:截取子字符串
//邮箱地址
String email="12345@qq.com";
//截取用户名
int endIndex=email.indexOf("@");
String userName = email.substring(0,endIndex);
方式3: toUpperCase()或toLowerCase()方法
作用:将当前字符串转换成大写或小写
String s1 = "zaffDDBBJJ";
String s2 = s1.toUpperCase();// 转换成大写(转换结果是一个新字符串)
String s3 = s2.toLowerCase();// 转换成大写(转换结果是一个新字符串)
System.out.println("原字符串:" + s1);
System.out.println("大写字符串: " + s2);
System.out.println("小写字符串:" + s3);
方法4 : 查找方法
indexOf()方法:从原字符串中查找目标字符串,返回第一次出现的位置
String s1 = "abcdefg";
// 如果不存在,则返回-1
int index1 = s1.indexOf("sos ");
System.out.println(index1);
// 如果存在,则返回字符串的下标(>=O)
int index2 = s1.indexOf("ef");
System.out.println(index2);
lastIndexOf()方法:从原字符串中查找目标字符串,返回最后一次出现的位置
contains()方法:判断原字符串中是否存在目标字符串
startwwith()方法:判断原字符串是否以目标字符串开头
endswith()方法:判断原字符串是否以目标字符串结尾
方法5:replace()方法
作用:将当前字符替换为指定字符(一次匹配一个,替换时会产生新的字符串)
String s1 = "zx.cvbnm";
// 字符替换字符
String ret1 = s1.replace('.', '#');
// 字符串替换字符串
String ret2 = s1.replace(".", "[.]");
System.out.println(ret1);
System.out.println(ret2);
replaceAll("[\\,]", "#"),使用正则表达式进行匹配,可以匹配多个
String ret2=ip.replaceAll("[\\¥\\,\\.]", "#");
String ret2=ip.replaceAll("[\\¥\\,\\.]+", "#");//允许匹配多个
//"."正则表达式表达,匹配任意字符
String ret2=ip.replaceAll("\\,", "#");
方法6:拼接方法
join()静态方法,用指定字符串连接字符串数组
String ss=String.join("+", ns);//按照+拼接
String sss=String.join("+", "abb","bdd");//按照+拼接"add","bdd"
StringJoiner(),三个参数
String[] cityArr= {"北京","上海","南京"};
StringJoiner joiner =new StringJoiner(",","{","}");
for(String city:cityArr) {
joiner.add(String.format("\"%s\"", city));
}
format(),静态方法,格式化拼接,代替占位符生成新的字符串
String ret=String.format("%s价格%d元", "商品",100);
方法7:trim()方法
作用:去除首尾空白字符和转义字符
String s = " \tzxcv\n";
String email = s.trim();
System.out.println(email);
方法8:split()方法
作用:按照指定正则表达式、普通字符分割字符串
String s = "ab#cd$Efg";
String[] s1 = s.split("#");
String[] s2 = s.split("[#\\$]");
String[] s3 = s.split("[A-Z]");
System.out.println(Arrays.asList(s1));
System.out.println(Arrays.asList(s2));
System.out.println(Arrays.asList(s3));