(Java)String截取指定字符前面(后面)所有字符和String的常用方法
1 获取String的相关信息功能
1)length():获取该字符串长度
String str = "group-banner-top-"; int length = str.length(); System.out.println(length);
运行结果:17
2)charAt(int index):获取指定索引处字符
String str = "group-banner-top-"; System.out.println(str.charAt(7));
运行结果:a
3)indexOf(String str):获取指定字符在该字符串第一次出现的位置
String str = "group-banner-top-"; int index = str.indexOf("a"); System.out.println(index);
运行结果:7
4)indexOf(String str, int fromIndex) 获取指定字符从某处开始第一次出现的位置
String str = "graap-banner-top-"; int index = str.indexOf("a",5); System.out.println(index);
运行结果:7
5)substring(int beginIndex) 从beginIndex开始位置截取字符串
String str = "graap-banner-top-"; String substring = str.substring(1); System.out.println(substring);
运行结果:raap-banner-top-
6)substring(int beginIndex, int endIndex) 从beginIndex开始,到endIndex结束截取字符串。包括start,不包括end
String str = "graap-banner-top-"; String substring = str.substring(1,3); System.out.println(substring);
运行结果:ra
2 String的判断功能
1)equals(Object anObject):比较字符串内容是否相同
String str = "fghjkvja女大三你看看电视"; System.out.println("fghjkvja女大三你看看电视".equals(str)); System.out.println("hhhjjj".equals(str));
运行结果:true
false
2)equalsIgnoreCase(String anotherString) :比较字符串内容是否相同,忽略大小写
String str = "ffffff"; System.out.println("FFFFFF".equalsIgnoreCase(str));
运行结果:true
3)startsWith(String prefix):判断字符串是否以指定的字符开头
String str = "fff白居寺fff"; System.out.println(str.startsWith("fff"));
运行结果:true
4)startsWith(String prefix, int toffset):判断字符串是否以指定的字符开头,参数toffest指定从哪个下标开始
String str = "fff白居寺fff"; System.out.println(str.startsWith("白",3)); System.out.println(str.startsWith("白",4));
运行结果:true
false
5)endsWith(String suffix):判断字符串是否以指定的字符结尾
String str = "fff白居寺fff"; System.out.println(str.endsWith("白"));
运行结果:false
6)isEmpty():判断字符串是否为空
String str = ""; System.out.println(str.isEmpty());
运行结果:true
3 String字符中转换方法
1)String toLowerCase():将字符串转为小写
String str = "HDFNNCVNDK"; System.out.println(str.toLowerCase());
运行结果:hdfnncvndk
2)String toUpperCase():将字符串转大写
String str = "kkskksfhdf"; System.out.println(str.toUpperCase());
3)char[ ] toCharArray():将字符串转为字符数组
String str = "HDFNNCV把接口顶你个肺NDK"; char[] chars = str.toCharArray(); System.out.println(chars);
运行结果:HDFNNCV把接口顶你个肺NDK
4 常用方法
1)String trim():去除字符串两端的空格
String str = " kkskksfhdf "; System.out.println(str); System.out.println(str.trim());
运行结果: kkskksfhdf
kkskksfhdf
2)CharSequence subSequence(int beginIndex, int endIndex):截取字符串指定位置组成一个新的字符串
String str = " kkskaaaaksfhdf "; System.out.println(str.subSequence(1,5));
运行结果:kksk
3) String replace(CharSequence target, CharSequence replacement)
String str = "kkskaaaaksfhdf"; System.out.println(str.replace("a","o"));
运行结果:kkskooooksfhdf
4)String replaceAll(String regex, String replacement):用新的内容替换全部就内容
String str = "kkskaaaaksfhdf"; System.out.println(str.replaceAll("a","o"));
运行结果:kkskooooksfhdf
5)String replaceFirst(String regex, String replacement):替换首个满足函数的内容
String str = "kkskaaaaksfhdf"; System.out.println(str.replaceFirst("k","o"));
运行结果:okskaaaaksfhdf
注意:之前用replaceFirst的时候遇到了一些问题:特意写出来分享下:
想把22.22.02.23切割成2222.02.23的形式,就想到了replaceFirst这个方法,但是结果却出乎意料。
String str = "22.22.02.23"; String s = str.replaceFirst(".", ""); System.out.println(s);
运行结果:2.22.02.23
可以发现,它将我的第一个字符给切割了,并没有切割第一个.的字符。因为这个时候”.”相当于元字符,匹配除“n”和”r”之外的任何单个字符。所以就把第一个字符切割了。
String str = "22.22.02.23"; String s = str.replaceFirst("\.", ""); System.out.println(s);
运行结果:2222.02.23
6)lastIndexOf(String str):返回指定字符出现最后一次的下标
String str = "kkskaaaaksfhdf"; System.out.println(str.lastIndexOf("k"));
运行结果:8
7)contains(CharSequence s):字符串中是否包含指定字符
String str = "kkskaaaaksfhdf"; System.out.println(str.contains("aa"));
运行结果:true
8)String concat(String str):在原有字符串基础上加上指定字符串
String str = "大"; System.out.println(str.concat("逼兜"));
原文:https://rivers-all.com/archives/515.html