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

扩展:见正则表达式章节