字符串查找
1、indexOf(String s)
该方法用于返回参数字符串s在指定字符串中首次出现的索引位置,当调用字符串的indexOf()方法时,会从当前字符串的开始位置搜索s的位置;检索不到则返回-1。
String str ="We are students";
int size = str.indexOf("a"); // 变量size的值是3
2、lastIndexOf(String str)
该方法用于返回字符串最后一次出现的索引位置。当调用字符串的lastIndexOf()方法时,会从当前字符串的开始位置检索参数字符串str,并将最后一次出现str的索引位置返回。如果没有检索到字符串str,该方法返回-1。
如果lastIndexOf方法中的参数是空字符串"" ,则返回的结果与length方法的返回结果相同。
获取指定索引位置的字符
charAt()方法可返回指定索引处的字符。
String str = "hello word";
char mychar = str.charAt(5); // mychar的结果是空格
获取子字符串
这些方法的共同点是利用字符串的下标进行截取,且应明确字符串下标是从0开始的。在字符串中空格占用一个索引位置。
1、substring(int beginIndex)
该方法返回的是从指定的索引位置开始截取直到该字符串结尾的子串。
String str = "Hello word";
String substr = str.substring(3); //获取字符串,此时substr值为lo word
2、substring(int beginIndex, int endIndex)
左闭右开原则
String str = "Hello word";
String substr = str.substring(0,3); //substr的值为Hel
字符串替换
replace()将指定的字符或字符串替换成新的字符或字符串
如果要替换的字符oldChar在字符串中重复出现多次,replace()方法会将所有oldChar全部替换成newChar。注意,要替换的字符oldChar的大小写要与原字符串中字符的大小写保持一致。
String str= "address";
String newstr = str.replace("a", "A");// newstr的值为Address
判断字符串的开始与结尾
startsWith()方法与endsWith()方法分别用于判断字符串是否以指定的内容开始或结束。这两个方法的返回值都为boolean类型。
1、startsWith(String prefix)
判断当前字符串对象的前缀是否是参数指定的字符串。
2、endsWith(String suffix)
判断当前字符串是否以给定的子字符串结束。
判断字符串是否相等
1、equals(String otherstr)
如果两个字符串具有相同的字符和长度,则使用equals()方法比较时,返回true。同时equals()方法比较时区分大小写。
2、equalsIgnoreCase(String otherstr)
equalsIgnoreCase()方法与equals()类似,不过在比较时忽略了大小写。
按字典顺序比较两个字符串
compareTo()方法为按字典顺序比较两个字符串,该比较基于字符串中各个字符的Unicode值,按字典顺序将此String对象表示的字符序列与参数字符串所表示的字符序列进行比较。
如果按字典顺序String对象位于参数字符串之前,返回负整数;如果按字典顺序此String对象位于参数字符串之后,返回正整数;如果这两个字符串相等,返回0。越靠前数越小
String str = "Hello World!";
String str2 = "ha";
System.out.println(str2.compareTo(str)); //这里返回的32
//ASCII码中,0是48,A是65,a是97,大小写字母相差32,默认是str2减去str的码
字母大小写转换
字符串的toLowerCase()方法可将字符串中的所有字符从大写字母改写为小写字母,而toUpperCase()方法可将字符串中的小写字母改写为大写字母。
String str = "Hello World!";
str.toLowerCase();
str.toUpperCase();
字符串分割
使用split()方法可以使字符串按指定分隔字符或字符串对内容进行分割,并将分割后的结果存放在字符数组中。
String str = "Hello World!";
for(String s : str.split(" ")){
System.out.println(s);
}
输出
Hello
World!
split(String sign)方法中sign为分割字符串的分割符,也可以使用正则表达式。
split() 方法根据匹配给定的正则表达式来拆分字符串。
注意: . 、 $、 | 和 * 等转义字符,必须得加 \。多个分隔符,可以用 | 作为连字符。
str.split(String sign, in limit);//限制分割次数
该方法可根据给定的分割符对字符串进行拆分,并限定拆分的次数。