String的常用方法
常用方法一:
1、int length():返回字符串的长度: return value length
2、char charAt(int index):返 回某索引处的字符return value[index]
3、boolean isEmpty():判断是否是空字符串: return value.length== 0
4、String toLowerCase():使用默认语言环境,将String 中的所有字符转换为小写
5、String toUpperCase():使用默认语言环境,将String中的所有字符转换为大写
6、String trim():返回字符串的副本,忽略前导空白和尾部空白
7、boolean equals(Object obj):比较字符串的内容是否相同
8、boolean equalslgnoreCase(String anotherString):与equals方法类似, 忽略大小写String concat(String str):将指定字符串连接到此字符串的结尾。等价于“+”
9、int compare To(String anotherString):比较两个字符串的大小
10、String substring(int beginIndex): 返回一个新的字符串,它是此字符串的从eginIndex开始截取到字符串结尾的一个子字符串
11、String substring(int beginIndex, int endIndex) :返回一个新字符串,它是此字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。
public void test1(){ String str1 = "HelloWorld"; String str2 = ""; System.out.println(str1.length());//获取字符串的长度 System.out.println(str1.charAt(0));//获取字符串指定索引处的字符 System.out.println(str1.isEmpty());//判断字符穿是否为空 System.out.println(str2.isEmpty()); str2 =str1.toUpperCase();//将字符串所有小写变为大写 System.out.println(str1);//不会去改变str1的值,仍然为原来的字符串,只是返回一个将str1字符全部变为大写后的字符串。 System.out.println(str2); str2 = str2.toLowerCase();//将字符串所有大写变为小写 System.out.println(str2); System.out.println(str1.equals(str2));//比较字符串的内容是否相同 System.out.println(str1.equalsIgnoreCase(str2));//与equals相同但是忽略大小写 } public void test2(){ String str1 = " he llo world "; System.out.println("---"+str1+"---"); System.out.println("---"+str1.trim()+"---");//去除字符串两边的空格 str1 = str1.concat("abc");//将指定字符串链接到此字符串的结尾,等价于用“+” System.out.println(str1); String str2 = "abc"; String str3 = "aAb"; System.out.println(str2.compareTo(str3));//比较两个字符串的大小 System.out.println(str2.compareToIgnoreCase(str3));//与compareTo相同但是忽略大小写 //涉及到字符串排序 //该方法用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较。 String str4 = "锄禾日当午"; System.out.println(str4.substring(2));//返回一个新的字符串,它是字符串从beginIndex开始截取到最后的一个子字符串。 System.out.println(str4.substring(1,3));//返回一个新的字符串,它是字符串从beginIndex开始截取到endIndex(不包含)的子字符串。 System.out.println(str4); }
常用方法二:
1、boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束
2、boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始
3、boolean startsWith(String prefix, int toffset): 测试此字符串从指定索引开始的子字符串是否以指定前缀开始
4、boolean contains(CharSequence s):当且仅当此字符串包含指定的char值序列时,返回true
5、int indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引
6、int indexOf(String str, int fromIndex):返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
7、int lastindexOf(String str):返回指定子字符串在此字符串中最右边出现处的索引
8、int lastIndexOf(String str, int fromIndex):返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索
注: indexOf和lastIndexOf方法如果未找到都是返回-1
public void test3(){ String str1 = "helloworld"; System.out.println(str1.endsWith("rld"));//测试此字符串是否以指定的后缀结束 System.out.println(str1.startsWith("He"));//测试此字符串是否以指定的前缀开始 System.out.println(str1.startsWith("low",3));//测试此字符串从指定的索引开始的子字符串是否以指定前缀开始 System.out.println(str1.contains("wor"));//当且仅当此字符串包含指定的char值序列时,返回true System.out.println(str1.indexOf("wo"));//返回指定子字符串在此字符串中第一次出现位置的索引。如果没有找到则返回-1 System.out.println(str1.indexOf("fff")); System.out.println(str1.indexOf('o',5));//返回指定子字符串在此字符串中第一次出现位置的索引,从指定的索引开始。如果没有找到则返回-1 System.out.println(str1.lastIndexOf("o"));//返回指定子字符串在此字符串中最右边出现处的索引 System.out.println(str1.lastIndexOf("o",5));//返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索 }
常用方法三:
替换
1、String replace(char oldChar, char newChar):返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。
2、String replace(CharSequence target, CharSequence replacement): 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
3、String replaceAll(String regex, String replacement): 使用给定的replacement替换此字符串所有匹配给定的正则表达式的子字符串。
4、String replaceFirst(String regex, String replacement): 使用给定的replacement替换此字符串匹配给定的正则表达式的第一个子字符串。
匹配:
5、boolean matches(String regex): 告知此字符串是否匹配给定的正则表达式。
切片:
6、StringD split(String regex):根据给定正则表达式的匹配拆分此字符串。
7、StringD split(String regex, int limit): 根据匹配给定的正则表达式来拆分此字符串,最多不超过limit个,如果超过了,剩下的全部都放到最后一个元素中。
public void test4(){ String str1 = "打西边来了个喇嘛西边"; String str2 = str1.replace('西', '东');//返回一个新的字符串,是把str1里的"西",替换为东得到的 System.out.println(str2); System.out.println(str1); String str3 = str1.replace("西边","东边"); System.out.println(str3); //使用给定的replacement替换此字符串所有匹配给定的正则表达式的子字符串。 String str = "12hello34world5456java64142mysql594"; System.out.println(str.replaceAll("\\d+",",").replaceAll("^,|,$","")); //使用给定的replacement替换此字符串匹配给定的正则表达式的第一个子字符串。 str = "hello34world java mysql"; System.out.println(str.replaceFirst("\\d+"," ")); //判断str字符是否全部由数字组成,即由1-n个字符组成 str = "123"; System.out.println(str.matches("\\d+")); //判断字符是否是一个手机号 str = "16639166666"; System.out.println(str.matches("^(1[3456789][0-9])\\d{8}$")); //StringD split(String regex):根据给定正则表达式的匹配拆分此字符串。 str = "hello world java mysql"; String[] strings = str.split(" "); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); } str = "hello world java mysql"; String[] strings1 = str.split(" ",3); for (int i = 0; i < strings1.length; i++) { System.out.println(strings1[i]); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?