Java 字符串常见操作方法总结

Java 字符串常见操作方法总结 最常见s.length()s.charAt(i)s.toLowerCase()s.substring()s.split( )s.indexOf()方法作用示例length()获取字符串长度s.length()charAt(i)获取第i个字符s.charAt(0)equals()判断内容是否相等a.equals(b)equalsIgnoreCase()忽略大小写比较a.equalsIgnoreCase(b)toLowerCase()转小写s.toLowerCase()toUpperCase()转大写s.toUpperCase()contains()判断是否包含s.contains(java)indexOf()查找第一次出现的位置s.indexOf(a)substring()截取字符串s.substring(0, 3)trim()去掉首尾空格s.trim()replace()替换内容s.replace(a, b)split()分割字符串s.split( )startsWith()判断开头s.startsWith(http)endsWith()判断结尾s.endsWith(.jpg)toCharArray()转字符数组s.toCharArray()在 Java 里字符串通常用String表示。比如StringsHello Java;字符串在机试、业务开发里都非常常见比如Stringssc.nextLine();charcs.charAt(0);下面总结一些最常用、最实用的字符串操作方法。一、获取字符串长度length()作用获取字符串有多少个字符。Stringshello;System.out.println(s.length());输出5常见场景遍历字符串时经常用for(inti0;is.length();i){System.out.println(s.charAt(i));}这里的意思是从第0个字符开始一个一个访问到最后一个字符。二、获取指定位置字符charAt(index)作用获取字符串中某个位置的字符。Stringshello;charcs.charAt(0);System.out.println(c);输出hJava 字符串下标从0开始h e l l o 0 1 2 3 4所以s.charAt(0);// hs.charAt(1);// es.charAt(4);// o常见场景题目中这一行charcsc.nextLine().charAt(0);意思是读取一行字符串然后取这一行的第一个字符。例如输入asc.nextLine()读到的是a.charAt(0)取出的是字符a。三、判断字符串是否相等equals()作用判断两个字符串内容是否一样。Stringajava;Stringbjava;System.out.println(a.equals(b));输出true注意字符串比较不要用而是用equals()。错误写法if(ab){System.out.println(相等);}推荐写法if(a.equals(b)){System.out.println(相等);}因为比较的是地址equals()比较的是内容。四、忽略大小写比较equalsIgnoreCase()作用比较两个字符串时不区分大小写。StringaJava;Stringbjava;System.out.println(a.equalsIgnoreCase(b));输出true常见场景比如用户输入YES、yes、Yes都算同意StringinputYES;if(input.equalsIgnoreCase(yes)){System.out.println(用户同意);}五、转换大小写toLowerCase()和toUpperCase()1. 转小写toLowerCase()StringsHello Java;System.out.println(s.toLowerCase());输出hello java2. 转大写toUpperCase()StringsHello Java;System.out.println(s.toUpperCase());输出HELLO JAVA常见场景做大小写不敏感统计时很常用StringsAaBbCc;ss.toLowerCase();charca;intcount0;for(inti0;is.length();i){if(s.charAt(i)c){count;}}System.out.println(count);输出2因为A转成小写后也是a。六、判断是否包含某个内容contains()作用判断字符串中是否包含某个子字符串。StringsHello Java;System.out.println(s.contains(Java));System.out.println(s.contains(Python));输出true false常见场景判断一句话里有没有某个关键词Stringtext我正在学习Java;if(text.contains(Java)){System.out.println(包含 Java);}七、查找字符或字符串位置indexOf()作用查找某个字符或字符串第一次出现的位置。Stringshello;System.out.println(s.indexOf(e));System.out.println(s.indexOf(l));System.out.println(s.indexOf(x));输出1 2 -1如果找不到就返回-1。常见场景判断某个字符是否出现过Stringshello;if(s.indexOf(e)!-1){System.out.println(出现过 e);}八、截取字符串substring()1. 从某个位置截取到最后StringsHelloJava;System.out.println(s.substring(5));输出Java意思是从下标5开始一直截取到最后。2. 截取指定区间StringsHelloJava;System.out.println(s.substring(0,5));输出Hello注意substring(0,5)表示截取下标[0, 5)的内容。也就是包含0不包含5。H e l l o J a v a 0 1 2 3 4 5 6 7 8所以截取结果是Hello九、去掉首尾空格trim()作用去掉字符串开头和结尾的空格。Strings hello java ;System.out.println(s.trim());输出hello java注意trim()只去掉首尾空格不会去掉中间空格。Strings hello java ;System.out.println(s.trim());结果是hello java中间的空格还在。常见场景处理用户输入时常用Stringinputsc.nextLine().trim();这样可以避免用户前后多输入空格导致判断错误。十、替换字符串replace()作用把字符串中的某些内容替换成其他内容。Stringshello java;System.out.println(s.replace(java,world));输出hello world替换字符Stringsa-b-c;System.out.println(s.replace(-,));输出abc意思是把所有-替换成空字符串。十一、分割字符串split()作用按照指定符号把字符串切开。Stringsapple,banana,orange;String[]arrs.split(,);System.out.println(arr[0]);System.out.println(arr[1]);System.out.println(arr[2]);输出apple banana orange常见场景处理一行输入10 20 30可以这样写Stringlinesc.nextLine();String[]arrline.split( );intaInteger.parseInt(arr[0]);intbInteger.parseInt(arr[1]);intcInteger.parseInt(arr[2]);十二、判断开头和结尾startsWith()/endsWith()1. 判断是否以某个内容开头StringsHelloJava;System.out.println(s.startsWith(Hello));输出true2. 判断是否以某个内容结尾StringsHelloJava;System.out.println(s.endsWith(Java));输出true常见场景判断文件类型StringfileNametest.jpg;if(fileName.endsWith(.jpg)){System.out.println(这是图片);}十三、字符串转字符数组toCharArray()作用把字符串转换成字符数组。Stringsabc;char[]arrs.toCharArray();System.out.println(arr[0]);System.out.println(arr[1]);System.out.println(arr[2]);输出a b c常见场景需要频繁遍历或修改字符时可以转成字符数组Stringsabc;char[]arrs.toCharArray();for(charch:arr){System.out.println(ch);}输出a b c十四、字符串和数字互转1. 字符串转整数Strings123;intnumInteger.parseInt(s);System.out.println(num1);输出1242. 整数转字符串intnum123;StringsString.valueOf(num);System.out.println(s);输出123也可以这样写Stringsnum;不过更推荐String.valueOf(num);十五、判断字符类型Character工具类处理单个字符时经常会用Character。1. 判断是否是字母Character.isLetter(a);// trueCharacter.isLetter(A);// trueCharacter.isLetter(1);// false2. 判断是否是数字Character.isDigit(1);// trueCharacter.isDigit(a);// false3. 转小写Character.toLowerCase(A);// a4. 转大写Character.toUpperCase(a);// A你截图里的代码if(Character.isLetter(c)){cCharacter.toLowerCase(c);}意思是如果 c 是字母就先把它转成小写方便后面不区分大小写统计。