String类中包含了很多方法,允许程序员对字符串进行操作来满足实际编程的需要。
1.去除空格
String类的trim()方法返回字符串的副本,忽略前导空格和尾部空格,语法格式:str.trim()
示例代码:
public class Strone {
public static void main(String[] args) {
String str=" I am iron man ";
//输出去除空格前字符串str的长度
System.out.println(str.length());//输出结果:15
//把字符串str去掉前导和尾部的空格后的结果输出
System.out.println(str.trim().length());//输出结果:13
}
}
2.字符串替换
使用String类的replace()方法实现将指定的字符或字符串替换成新的字符和字符串。语法格式:str.replace(char oldChar , char newChar),oldChar是指要替换的字符或字符串,new char是指替换原来字符串的内容。如果字符串oldChar没有出现在该对象表达式中的字符串序列中,则将原字符串返回;而字符串oldChar在字符串中重复出现,则会将所有的oldChar全部替换成newChar。示例代码:
String strone="microsoft";
//字符串strone中的字符m替换成M
String strtwo=strone.replace("m", "M");
System.out.println(strtwo);//输出结果:Microsoft
String strthree="sheet";
System.out.println(strthree.replace("e", "o"));//输出结果:shoot
3.判断字符串的开始与结尾
String类中的startsWith()方法与endsWith()方法分别用于判断字符串是否以指定的内容开始或结束,这两个方法的返回值都为boolean类型。
(1) startsWith()方法
该方法用于判断当前字符串对象的前缀是否为参数指定的字符串,语法格式如下: str.startsWith (String prefix),prefix就是指作为前缀的字符。
(2) endsWith()方法
该方法用于判断当前字符串是是否为以给定的字符串结束。语法格式如下:
str.endsWith(String suffix),suffix是指作为后缀的字符串。
示例代码:
String strfour="Good idea";
System.out.println(strfour.startsWith("Go"));//输出结果:true
System.out.println(strfour.endsWith("de"));//输出结果:false
4.判断字符串是否相等
对字符串进行比较不能简单地使用比较运算符“==”,因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址也是不相同的,使用比较运算符仍然会返回false。因此,要比较两个字符串内容是否相等,应使用equals()方法和equalsIgnoreCase()方法。
(1) equals()方法
如果两个字符串具有相同的字符和长度,则使用该方法进行比较,返回true,语法格式:str.equals(String otherstr)
(2) equalsIgnoreCase()方法
使用equals()方法对字符串进行比较时时区分大小写的,而使用equalsIgnoreCase()方法是在忽略了大小写的情况下比较两个字符串是否相等,返回结果仍为boolean类型,语法格式:
str. equalsIgnoreCase(String otherstr),示例代码:
String strfive="NBA";
String strsix="nba";
//使用equals()方法比较
System.out.println(strfive.equals(strsix));//输出结果:false
//使用equalsIgnoreCase()方法比较
System.out.println(strfive.equalsIgnoreCase(strsix));//输出结果:true
5.按字典顺序比较两个字符串
compareTo(方法)为按字典顺序比较两个字符串,该比较基于字符串中各个字符的Unicode值,按字典顺序将此String对象表示的字符串序列与参数字符串所表示的字符进行比较。如果按字典顺序此String位于参数字符之前,则比较结果为一个负整数;如果按字典顺序此Sting对象位于参数字符串之后,则比较结果为一个正整数;如果两个字符串相等,则结果为0。语法格式:str.compareTo(String otherstr),示例代码:
String strseven="a";
String streight="b";
String strnine="c";
System.out.println(strseven.compareTo(streight));//输出结果:-1
System.out.println(strnine.compareTo(strseven));//输出结果:2
6.字母大小写转换
String类中的toLowerCase()方法可将字符串中的所有字符从大写字母改为小写字母,而
toUpperCase()方法可将字符串中的小写字母改写为大写字母。使用该方法时,数字或非字符不受影响。
(1) toLowerCase()方法
如果字符串中没有需要被转换的字符,则将原字符串返回,否则将返回一个新的字符串,将原字符串中每个应该进行小写转换的字符都转换成等价的小写字符,字符长度与原字符长度相同。语法格式:str.toLowerCase()
(2) toUpperCase()方法
如果字符串中没有需要被转换的字符,则将原字符串返回,否则将返回一个新的字符串,
将原字符串中每个应该进行大写转换的字符都转换成等价的大写字符,新字符长度与原字符长度相同。语法格式:str. toUpperCase(),示例代码:
String stra="ufo NBA";
System.out.println(stra.toLowerCase());//输出结果:ufo nba
System.out.println(stra.toUpperCase());//输出结果:UFO NBA
7.字符串分割
使用split()方法可以使用字符串按指定的分割字符或字符串对内容进行分割,并将分割后的结果存放在字符串数组中。
(1)split(String sign)
该方法可根据给定的分割符对字符串进行拆分,如果想定义多个分割符,可使用符号“|”
,例如:“;|=”。语法格式:str.split(String sing)
(2)split(String sign,int limit)
该方法可根据给定的分割符对字符串进行拆分,并限定拆分的次数。示例代码:
String strb="127.0.0.1";
//按照"."进行分割,使用转义字符"\\."
String[] strc=strb.split("\\.");
String[] strd=strb.split("\\.", 2);
for (String string : strc) {
System.out.print(string+" ");
}//输出结果:127 0 0 1
for (String string : strd) {
System.out.print(string+" ");
}//输出结果:127 0.0.1