Java提供了丰富的API给使用者方便其快捷高效的进行开发工作,本篇博客接上篇↷Java高级编程--常用类之字符串相关类String、StringBuffer、StringBuilder详细介绍String类中常用的方法。
☍ String类的常用方法
✑ int length():
返回字符串的长度:return value.length
✑ char charAt(int index):
返回某索引处的字符return value[index]
✑ boolean isEmpty():
判断是否是空字符串:return value.length == 0
✑ String toLowerCase():
使用默认语言环境,将String中的所有字符转换为小写
✑ String toUpperCase():
使用默认语言环境,将String中的所有字符转换为大写
✑ String trim():
返回字符串的副本,忽略前导空白和尾部空白
✑ boolean equals(Object obj):
比较字符串的内容是否相同
✑ boolean equalsIgnoreCase(String anotherString) :
与equals方法类似,忽略大小写
✑ String concat(String str) :
将指定字符串连接到此字符串的结尾。等价于用“+”
✑ int compareTo(String anotherString):
比较两个字符串的大小
✑ String substring(int beginIndex):
返回一个新的字符串,它是此字符串的从beginIndex开始截取到最后的一个子字符串。
✑ String substring(int beginIndex, int endIndex) :
返回一个新字符串,它是此字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。
✑ boolean endsWith(String suffix):
测试此字符串是否以指定的后缀结束
✑ boolean startsWith(String prefix):
测试此字符串是否以指定的前缀开始
✑ boolean startsWith(String prefix, int toffset):
测试此字符串从指定索引开始的子字符串是否以指定前缀开始
✑ boolean contains(CharSequence s):
当且仅当此字符串包含指定的char值序列时,返回true
✑ int indexOf(String str):
返回指定子字符串在此字符串中第一次出现处的索引
✑ int indexOf(String str, int fromIndex):
返回指定子字符串在此字符串中第一次出
现处的索引,从指定的索引开始
✑ int lastIndexOf(String str):
返回指定子字符串在此字符串中最右边出现处的索引
✑ int lastIndexOf(String str, int fromIndex):
返回指定子字符串在此字符串中最后
一次出现处的索引,从指定的索引开始反向搜索
✑ String replace(char oldChar, char newChar):
返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar 得到的。
✑ String replace(CharSequence target, CharSequence replacement):
使
用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
✑ String replaceAll(String regex, String replacement) :
使 用 给 定 的
replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
✑ String replaceFirst(String regex, String replacement) :
使用给定的replacement替换此字符串匹配给定的正则表达式的第一个子字符串。
✑ boolean matches(String regex):
告知此字符串是否匹配给定的正则表达式。
✑ String[] split(String regex):
根据给定正则表达式的匹配拆分此字符串。
✑ String[] split(String regex, int limit):
根据匹配给定的正则表达式来拆分此字符串,最多不超过limit个,如果超过了,剩下的全部都放到最后一个元素中。
说明:
✦ indexOf和lastIndexOf方法如果未找到都是返回-1
✦ 大多数涉及到start和end参数的都是前包后不包[start,end)
代码示例:
public class StringMethod {
/**
* @Description:
* int length() :返回字符串的长度: return value.length
* char charAt(int index): : 返回某索引处的字符return value[index] 下标从0开始,范围为0~length-1
* boolean isEmpty() :判断是否是空字符串:return value.length == 0
* String toLowerCase() :使用默认语言环境,将 String 中的所有英文字符转换为小写
* String toUpperCase() :使用默认语言环境,将 String 中的所有英文字符转换为大写
* String trim(): :返回字符串的副本,忽略前导空白和尾部空白
* boolean equals(Object obj): :比较字符串的内容是否相同
* boolean equalsIgnoreCase(String anotherString) :与equals方法类似,忽略大小写
* String concat(String str) :将指定字符串连接到此字符串的结尾。 等价于用“+”
* int compareTo(String anotherString): :比较两个字符串的大小
* String substring(int beginIndex): :返回一个新的字符串,它是此字符串的从
* beginIndex开始截取到最后的一个子字符串。
* String substring(int beginIndex, int endIndex) : :返回一个新字符串,它是此字
* 符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。
* boolean endsWith(String suffix): :测试此字符串是否以指定的后缀结束
* boolean startsWith(String prefix): :测试此字符串是否以指定的前缀开始
* boolean startsWith(String prefix, int toffset): :测试此字符串从指定索引开始的子字符串是否以指定前缀开始
* boolean contains(CharSequence s) :当且仅当此字符串包含指定的 char 值序列时,返回 true
* int indexOf(String str): :返回指定子字符串在此字符串中第一次出现处的索引
* int indexOf(String str, int fromIndex): :返回指定子字符串在此字符串中第一次出
* 现处的索引,从指定的索引开始找
* int lastIndexOf(String str): :返回指定子字符串在此字符串中最右边出现处的索引
* int lastIndexOf(String str, int fromIndex): :返回指定子字符串在此字符串中最后
* 一次出现处的索引,从指定的索引开始反向搜索
*
* 注:indexOf和lastIndexOf方法如果未找到都是返回-1
*
*
* String replace(char oldChar, char newChar): :返回一个新的字符串,它是
* 通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
* String replace(CharSequence target, CharSequence replacement): :使
* 用指定的字面值序列替换此字符串所有匹配字面值目标序列的子字符串。
* String replaceAll(String regex, String replacement) :使用给定的
* replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
* String replaceFirst(String regex, String replacement) :使用给定的
* replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
* boolean matches(String regex) :告知此字符串是否匹配给定的正则表达式。
* String[] split(String regex) :根据给定正则表达式的匹配拆分此字符串。
* String[] split(String regex, int limit) :根据匹配给定的正则表达式来拆分此
* 字符串,最多不超过limit个,如果超过了,剩下的全部都放到最后一个元素中。
*/
@Test
public void testMethod1(){
String str1 = "Java Web ";
String str2 = "中国加油";
//1、字符串长度:string.length() 空格也算一个字符
System.out.println("java web's length:" + str1.length());
System.out.println("中国加油的长度:" + str2.length());
//2、返回string中指定下标的字符,下标从0开始,范围为0~length-1:string.charAt(int index);
System.out.println("java web的第一个字符:" + str1.charAt(0));
// System.out.println(str1.charAt(9)); StringIndexOutOfBoundsException
//3、判断string是否为空,空格不算为空:string.isEmpty()
String str3 = "";
String str4 = " ";
System.out.println("java web是否为空:" + str1.isEmpty()); //false
System.out.println("''是否为空:" + str3.isEmpty()); //true
System.out.println("' '是否为空:" + str4.isEmpty()); //false
//4、string字符串中英文字母大写转换:string.toUpperCase() 转换后为新的字符串,不影响原字符串
String str5 = "Love World!爱上2020";
System.out.println(str5 +"大写转换:" + str5.toUpperCase());
//5、string字符串中英文字母小写转换:string.toLowerCase()
System.out.println(str5 + "小写转换:" + str5.toLowerCase());
//6、去除字符串前面和尾部的空白,产生新字符串,不影响原字符串:string.trim()
String str6 = " ---你 好 hello--- ";
System.out.println(str6 + "去除前后空白:" + str6.trim());
//7、比较字符串的内容是否相同:string.equals(Object obj)
String str7 = new String("hello");
String str8 = new String("hello");
String str9 = "hello";
String str10 = "Hello";
System.out.println(str7.equals(str8)); //true
System.out.println(str7.equals(str9)); //true
System.out.println(str9.equals(str10)); //false
//7、忽略大小写比较字符串的内容是否相同:string.equalsIgnoreCase(Object obj)
System.out.println(str9.equalsIgnoreCase(str10)); //true
//8、将s2字符串连接到s1字符串结尾,相当于+: str1.concat(str2)
System.out.println(str1.concat(str9));
//9、比较两个字符串大小:string1.compareTo(String string2) string1.compareToIgnoreCase(String string2)
//返回结果为int,string1>string2返回正数,string1=string2返回0,string1
String类的练习题↷传送门
本博客与CSDN博客༺ཌ༈君☠纤༈ད༻同步发布