(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

posted @ 2023-09-06 18:39  peachlf  阅读(3421)  评论(0编辑  收藏  举报