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(不包含)的一个子字符串。
@Test public void test2(){ String s1="HelloWorld"; String s2="helloworld"; System.out.println(s1.equals(s2));//比较字符串的内容是否相同 System.out.println(s1.equalsIgnoreCase(s2));//比较字符串内容是否相同忽略大小写 String s3="abc"; String s4=s3.concat("def");//将指定的字符串连接到该字符串的末尾 System.out.println(s4); String s5="abc"; String s6=new String("abe"); System.out.println(s5.compareTo(s6));//比较两个字符串的大小 String s7="我是java菜鸡呜呜呜呜呜呜呜呜"; String s8=s7.substring(2);//从某个位置开始截取字符串 System.out.println(s8); String s9 =s7.substring(3,12);//从某个位置开始截取到那个位置结束 System.out.println(s9); } @Test public void test1(){ String s1="HelloWrold"; System.out.println(s1.length()); System.out.println(s1.charAt(0)); System.out.println(s1.charAt(9)); System.out.println(s1.isEmpty()); String s2=s1.toLowerCase();//将字符转为小写 System.out.println("s1是不可变得还是原来的"+s1);//还是原来的字符串s1不可变 System.out.println("改变小写后的字符串:"+s2);//改变小写后的字符串 String s3=" he llo world "; String s4=s3.trim();//首尾去空白通常用为用户注册账户的时候 System.out.println("------"+s3+"----------");//去空白前 System.out.println("------"+s4+"----------");//去空表后 }
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
@Test public void test3(){ String str1="helloworld"; //测试此字符串是否以指定的后缀结束 boolean b1=str1.endsWith("rld"); System.out.println(b1); boolean b2=str1.startsWith("he"); System.out.println(b2); //测试此字符串从指定索引开始的子字符串是否以指定前缀开始 boolean b3=str1.startsWith("ll",2); System.out.println(b3); String str2="wor"; System.out.println(str1.contains(str2));//如果str1包含str2就返回true System.out.println(str1.indexOf("lol")); System.out.println(str1.indexOf("lo",5)); String str3 = "hellorworld"; System.out.println(str3.lastIndexOf("or")); System.out.println(str3.lastIndexOf("or",6)); //什么情况下,indexOf(str)和lastIndexOf(str)返回值相同? //情况一:存在唯一的一个str。情况二:不存在str }
替换:
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 test4(){ String str="我是java菜鸡菜鸡菜鸡菜鸡菜鸡"; String str2=str.replace('菜','弱'); System.out.println(str); System.out.println(str2); String str3=str.replace("我是","你是"); System.out.println(str); System.out.println(str3); System.out.println("*************************"); String str1 = "12hello34world5java7891mysql456"; //把字符串中的数字替换成,,如果结果中开头和结尾有,的话去掉 String string = str1.replaceAll("\d+", ",").replaceAll("^,|,$", ""); System.out.println(string); System.out.println("*************************"); str1 = "12345"; //判断str字符串中是否全部有数字组成,即有1-n个数字组成 boolean matches = str1.matches("\d+"); System.out.println(matches); String tel = "0571-4534289"; //判断这是否是一个杭州的固定电话 boolean result = tel.matches("0571-\d{7,8}"); System.out.println(result); System.out.println("*************************"); str1 = "hello|world|java"; String[] strs = str1.split("\|"); for (int i = 0; i < strs.length; i++) { System.out.println(strs[i]); } System.out.println(); str2 = "hello.world.java"; String[] strs2 = str2.split("\."); for (int i = 0; i < strs2.length; i++) { System.out.println(strs2[i]); } }
完整代码:
package String; import org.junit.Test; /** * Created with IntelliJ IDEA. * User: 郭金荣 * Date: 2020/3/7 0007 * Time: 22:27 * E-mail:1460595002@qq.com * 类说明: */ public class StringMethodTest { /* 替换: 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 test4(){ String str="我是java菜鸡菜鸡菜鸡菜鸡菜鸡"; String str2=str.replace('菜','弱'); System.out.println(str); System.out.println(str2); String str3=str.replace("我是","你是"); System.out.println(str); System.out.println(str3); System.out.println("*************************"); String str1 = "12hello34world5java7891mysql456"; //把字符串中的数字替换成,,如果结果中开头和结尾有,的话去掉 String string = str1.replaceAll("\d+", ",").replaceAll("^,|,$", ""); System.out.println(string); System.out.println("*************************"); str1 = "12345"; //判断str字符串中是否全部有数字组成,即有1-n个数字组成 boolean matches = str1.matches("\d+"); System.out.println(matches); String tel = "0571-4534289"; //判断这是否是一个杭州的固定电话 boolean result = tel.matches("0571-\d{7,8}"); System.out.println(result); System.out.println("*************************"); str1 = "hello|world|java"; String[] strs = str1.split("\|"); for (int i = 0; i < strs.length; i++) { System.out.println(strs[i]); } System.out.println(); str2 = "hello.world.java"; String[] strs2 = str2.split("\."); for (int i = 0; i < strs2.length; i++) { System.out.println(strs2[i]); } } /* 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 */ @Test public void test3(){ String str1="helloworld"; //测试此字符串是否以指定的后缀结束 boolean b1=str1.endsWith("rld"); System.out.println(b1); boolean b2=str1.startsWith("he"); System.out.println(b2); //测试此字符串从指定索引开始的子字符串是否以指定前缀开始 boolean b3=str1.startsWith("ll",2); System.out.println(b3); String str2="wor"; System.out.println(str1.contains(str2));//如果str1包含str2就返回true System.out.println(str1.indexOf("lol")); System.out.println(str1.indexOf("lo",5)); String str3 = "hellorworld"; System.out.println(str3.lastIndexOf("or")); System.out.println(str3.lastIndexOf("or",6)); //什么情况下,indexOf(str)和lastIndexOf(str)返回值相同? //情况一:存在唯一的一个str。情况二:不存在str } /* 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(不包含)的一个子字符串。 */ @Test public void test2(){ String s1="HelloWorld"; String s2="helloworld"; System.out.println(s1.equals(s2));//比较字符串的内容是否相同 System.out.println(s1.equalsIgnoreCase(s2));//比较字符串内容是否相同忽略大小写 String s3="abc"; String s4=s3.concat("def");//将指定的字符串连接到该字符串的末尾 System.out.println(s4); String s5="abc"; String s6=new String("abe"); System.out.println(s5.compareTo(s6));//比较两个字符串的大小 String s7="我是java菜鸡呜呜呜呜呜呜呜呜"; String s8=s7.substring(2);//从某个位置开始截取字符串 System.out.println(s8); String s9 =s7.substring(3,12);//从某个位置开始截取到那个位置结束 System.out.println(s9); } @Test public void test1(){ String s1="HelloWrold"; System.out.println(s1.length()); System.out.println(s1.charAt(0)); System.out.println(s1.charAt(9)); System.out.println(s1.isEmpty()); String s2=s1.toLowerCase();//将字符转为小写 System.out.println("s1是不可变得还是原来的"+s1);//还是原来的字符串s1不可变 System.out.println("改变小写后的字符串:"+s2);//改变小写后的字符串 String s3=" he llo world "; String s4=s3.trim();//首尾去空白通常用为用户注册账户的时候 System.out.println("------"+s3+"----------");//去空白前 System.out.println("------"+s4+"----------");//去空表后 } }
博客到此,分享一下我学习编程的途径希望大家循序渐进,共同进步:
How2J 的 Java教程:当下Java小白的引路人,以有趣和好理解的方式展示Java和Web的内容拥有当今流行的java路线。
哔哩哔哩 (゜-゜)つロ 干杯~-bilibili:中国最大的学习平台没有之一,拥有海量的资源有时间的小伙伴可以免去重金花钱培训。
廖雪峰的官方网站:廖雪峰,十年软件开发经验,业余产品经理,精通Java/Python/Ruby/Scheme/Objective C等,对开源框架有深入研究..
菜鸟教程 - 学的不仅是技术,更是梦想!:提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。