字符串String是我们使用最多的数据之一,做为一个最终类,里面肯定会有各种操作方法供我们使用;接下来就会看到一些可能会使用到的方法
1.int length()方法:返回字符串的长度
String s = "HelloJava";
int len = s.length();
System.out.println(len);//打印结果:9
当字符串的长度是变化或比较长的时候,,我们可以通过此方法直接获取一个int类型的长度及字符串的长度
2.char charAt(int index):返回指定索引处的字符
String s = "HelloJava";
//打印一个
char c1 = s.charAt(0);
System.out.println(c1);//打印结果:H
//打印两个
char c2 = s.charAt(6);
System.out.println(c2);//打印结果:a
当我们只想获取字符串中某一个字符或者进行单个字符匹配的时候,可以使用此方法返回单个字符;
对于索引(下标):从左至右:0表示第一个字符,1表示第二个字符,以此类推
3.String concat(String str):将传递的字符串拼接到原字符串后
String s = "HelloJava";
String str = s.concat("SE");
System.out.println(str);//打印结果为:HelloJavaSE
拼接字符串常用的方式有两种,一种是上述的concat方法,另一种是直接通过+号拼接,都是可以的
String s = "HelloJava";
String str = s + "SE";
System.out.println(str);//打印结果为:HelloJavaSE
4.boolean endsWith(String suffix):判断是否是以指定的字符串结尾的
boolean startsWith(String prefix):判断是否是以指定的字符串开头的
boolean startsWith(String prefix,int toffset):从指定的索引开始,判断是否是以指定的字符串开头的
String s = "HelloJava";
boolean start = s.startsWith("He");
System.out.println(start);//打印结果为:true
boolean starts = s.startsWith("He",6);
System.out.println(starts);//打印结果为:false
boolean end = s.endsWith("Java");
System.out.println(end);//打印结果为:true
返回值类型是布尔类型,那么此方法可以作为布尔表达式在选择语句或循环语句中进行判断
5.boolean equals(Object anObject):对字符串进行比较(区分大小写)
**boolean equalsIgnoreCase(String anotherString) **:对字符串进行比较(不区分大小写)
String s1 = "HelloJava";
String s2 = "hellojava";
boolean b1 = s1.equals(s2);
System.out.println(b1);//打印结果为:false
boolean b2 = s1.equalsIgnoreCase(s2);
System.out.println(b2);//打印结果为:true
对于字符串的比较通常是使用的比较多的方法:使用比较的方法时,为了避免空指针异常,建议吧字符串常量写前面进行调用,变量为参数进行传递
6.int indexOf(String str) :返回指定字符串第一次出现时的下标
int indexOf(String str,int fromIndex) :从指定索引处开始,返回指定字符串第一次出现时的下标
int lastIndexOf(int ch) :返回指定字符串最后一次出现时的下标
int lastIndexOf(int ch, int fromIndex) :从指定索引处开始,返回指定字符串最后一次出现时的下标
String str = "HelloJava";
int index1 = str.indexOf("e");
System.out.println(index1);//打印的结果:1
int index2 = str.indexOf("e", 3);
System.out.println(index2);//打印的结果:-1
int index3 = str.lastIndexOf("J");
System.out.println(index3);//打印的结果为:5
int index4 = str.lastIndexOf("J", 7);
System.out.println(index4);//打印结果为:5
上述打印结果有-1,-1表示没有找到指定的字符串,所以返回-1;如果找到了,会直接返回指定字符串中第一个字符的索引(下标)
7.String[] split(String regex) :以指定的正则表达式将字符串进行切割
String s1 = "121-131-150";
String[] str = s1.split("-");
System.out.println(str[0]);//打印的结果为:121
System.out.println(str[1]);//打印的结果为:131
System.out.println(str[2]);//打印的结果为:150
会根据正则表达式的内容吧所有符合要求的字符进行切割,也可以只写一个字符进行切割,切割n次就返回n+1个字符串,使用返回的字符串数组时,当心下标越界哟
8.String substring(int beginIndex) :从指定的索引开始截取原字符串,并把截取后的字符串返回
String substring(int beginIndex, int endIndex) :从指定的索引开始,截取到给定的索引处(不包括)
String str = "HelloJava";
String s1 = str.substring(3);
System.out.println(s1);//打印的结果:loJava
String s2 = str.substring(1,6);
System.out.println(s2);//打印的结果:elloJ
对于substring(int beginIndex, int endIndex):参数中,第一个索引在截取范围内,但是第二个索引不在截取范围内–>[beginIndex, int endIndex)
9.String trim() :去掉字符串前后的空格
String str = " Hello Java ";
System.out.println(str);//打印的结果: Hello Java ;
String s1 = str.trim();
System.out.println(s1);//打印的结果:Hello Java
这个方法只能去掉字符串前后的空格,但是字符和字符之间的空格无法去掉
10.String replaceAll(String regex, String replacement) :把所有符合正则表达式的字符串,替换为给定的字符串
String str = "H1ello2Jav3a";
String s1 = str.replaceAll("[0-9]", "A");
System.out.println(s1);//打印的结果:HAelloAJavAa
上述是把所有的数字替换为了A
今天的分享就到这里了,如果有错误,欢迎大家来指定!