string类
1.声明字符串
声明字符串就是创建一个字符串对象。
String a; 等于↓
String a = null;
String a , b , c;
1.创建字符串
给字符串赋值的方法:
1.引用字符串常量 (掌握)
字符串是常量,可以直接赋值给String
String a = “java牛逼”;
String a = "java牛逼 , b = “hello java”;String str1 , str2;
str1 = “Java666”;
str2 = “Java666”;
2.利用构造方法直接实例化 (掌握)
构造方法: public String (String original)
String a = new String(“我爱学习”);
String b = new String(a);
3.利用字符数组实例化 (了解)
构造方法1: public String (char[] value) --字节数组
char[] charArray = { ‘t’ , ‘i’ , ‘m’ , ‘e’ };
String a = new String(charArray);
输出a>> time
构造方法2:public String (char[] value , int offset , int count) --字节数组 --起始位置 --获取个数
char[] charArray = { ‘j’ , ‘a’ , ‘v’ , ‘a’ };
String a = new String(charArray , 2 , 2 );
输出a>> va
4.利用字节数组实例化 (了解)
构造方法: public String (byte[] bytes) --字节数组(String类字符编码序列)
byte[] byteArray = { -60 , -6 , -70 , -61 };
String a = new String(byteArray , 2 , 2 );
输出a>> 您好
扩展:
String类提供了获取任意字符串的字节数组方法 String.getByte()
连接字符串
字符串的拼接
1.使用“+”运算符
String a = “123”+“456”;
String b = a +“abc”;
输出b>> 123456abc
2.使用"+="运算符
String a =“123”;
a +=“456”;
输出a>> 123456String a =“123”;
a = a + “456”;
输出a>> 123456
获取字符串长度
语法:public int length()
String password=“1234567890”;
int size = password.length();
输出size>> 10String password=“12 34 56 78 90”;
int size = password.length();
输出size>> 14
注:空格也是字符!
字符串查找
语法:str.indexOf(String a ) --被查找的字符串
成功返回字符串索引位置,失败返回-1
String a=“123467890”;
int b = a.indexOf(“5”);
输出b>> -1String a=“123467890”;
int b = a.indexOf(“6”);
输出b>> 4
获取指定索引位置字符串
1.获取指定字符串
语法:public char charAt(int index) --要获取的索引位置
String name = “Peter";
char ch = name.charAt(0);
输出ch>> P
2.获取子字符串索引位置
1.获取第一次出现的索引
语法1:public int indexOf(String str) --要获取的字符串
String str = “We are the world”;
int index = str.indexOf(“e”);
输出index>> 1
2.从指定位置往后查
语法2:public int indexOf(String str, int fromIndex) --要获取的字符串 --起始位置
String str = “We are the world”;
int index = str.indexOf(“e” , 3);
输出index>> 5
3.获取最后一次出现的索引
语法3:public int lastlndexOf(String str) --要获取的字符串
String str = "Let it go!Let it go!”;
int lastlndex = str.lastlndexOf(“t”);
输出lastlndex>> 15
4.从指定位置往前查
语法4:public int lastlndexOf(String str,int fromIndex) --要获取的字符串 --起始位置
String str = "Let it go!Let it go!”;
int lastlndex2 = str.lastIndexOf("t”,14);
输出lastlndex>> 12
截取字符串
1.从指定位置开始截取
语法:public String substring(int beginlndex) --开始截取的位置
Srting id =“123456196108047890”
String birthdate = id.substring(6);
输出birthdata>> 196108047890
2.截取指定的范围
语法:public String substring(int beginlndex , int endlndex ) --开始截取的位置 --截取结束的位置
Srting id =“123456196108047890”
String birthdate = id.substring(6,14);
输出birthdata>> 19610804
去除空格
1.去除首尾空白内容
语法:public String trim()
String str = " abc "
String shortStr = str.trim();
输出shortStr>> abc
字符串替换
1.旧字符序列换成新字符序列
语法:public String replace(CharSequence target , CharSequence replacement) --旧字符序列 --替换后的新字符序列
String str = “馒头一文一个”
String replaceStr = str.replace(“一” , “壹”)
输出replaceStr>> 馒头壹文壹个
2.旧字符或正则表达式内容替换成新字符串
语法:public String replaceAll()
3.替换一次
语法:public String replaceFirst()
判断字符串开头与结尾
判断字符串结尾内容
语法:public boolean endsWith(String suffix)
String fileName = “HelloWorld.java”;
Boolean bool1 = fileName.endWith(".java");
Boolean bool2 = fileName.endWith(".jpg");
输出bool1>> true
输出bool2>> false
判断字符串句首内容
语法:public boolean startsWith(String prefix)
String str =“新华社记者从前往发来报道…….";
Boolean bool1 = str.startsWith(“新华社");
Boolean bool2 = str.startsWith(“新华书店");
输出bool1>> true
输出bool2>> false
判断字符串是否相等
语法:public boolean equals(String anotherString)–被比较的字符串
String name = new String(“tom”);
String mane = new String(“tom”);
boolean bool = name.equals(mane);
输出bool>> true
忽略大小写比较
语法:public boolean equalslgnoreCase(String anotherString)–被比较的字符串
String name = new String(“tom”);
String mane = new String(“TOM”);
boolean bool = name.equalsIgnoreCase(mane);
输出bool>> true
扩展:
String name = new String(“tom”);
String mane = new String(“tom”);
name == mane 结果是falseString name = “tom”;
String mane = “tom”;
name == mane 结果是true
大小写转化
将字符串变为小写
语法:public String toLowerCase()
String name = new String(“TOM”);
String str = name.toLowerCase();
输出str>> tom
将字符串变为大写
语法:public String toUpperCase()
String name = new String(“tom”);
String str = name.toUpperCase();
输出str>> TOM
字符串分割
将字符串按照指定的符号分割成数组
语法:public String[] split (String regex) --用于分割的符号
String str = “abc1sdf1gfd”;
String [] strArray = str.split(“1”);
for:输出strArray >> abc sdf gfd
限制分割次数
语法:public String[] split (String regex, int limit) --用于分割的符号 --分割次数
String str = “192.168.0.1”;
String [] strArray =str.split("\.",2);
输出strArray[0]>> 192
格式化字符串
使用指定的格式字符串和参数返回格式化的字符串
语法:String.format(String format,object…arge)–格式符 –
Date date = new Date();
String str = String.format("%tF", date);
输出str>> 2020-10-13
正则表达式
正则表达式是一组公式,描述了一种字符串匹配的格式
判断字符串是否匹配给定的正则表达式
语法:str.matches(String regex); --要匹配此字符串的正则表达式
String a = “aa”;
System.out.println(a.matches("[a-z]{2}"));
输出str>> true
扩展:见正则表达式章节