str.substring(int beginIndex)
该方法返回的是从指定的索引位置开始截取直到字符串结尾的字串。其中,beginIndex指定从某一索引处开始截取字符串。
substring(int beginIndex, int endIndex)该方法返回的是从字符串某一索引位置开始截取至某一位置结束的子串。
beginIndex:开始截取的索引位置
endIndex:结束截取的索引位置
String str_1 = "I love you"; System.out.println(str_1.substring(2)); System.out.println(str_1.substring(2, 6));
2.去除空格
trim()方法返回字符串的副本,忽略前导空格和尾部空格。 // str.trim()
String str_2 = " We went to the school together ";
System.out.println("字符串原来的长度:" + str_2.length() + "nstr_2 = " + str_2);
System.out.println("去掉空格后的长度:" + str_2.trim().length());
System.out.println("str_2 = " + str_2);
不会改变原来字符串
3.字符串替换replace()方法可返回将指定的字符或字符串替换成新的字符或字符串。(不会改变原来字符串) // str.repace()
str.replace(char oldChar, char newChar)
oldChar:要替换的字符或字符串
newChar:用于替换原来字符串的内容
String str_3 = "I love you";
System.out.println("str_3 = " + str_3);
System.out.println(str_3.replace("love", "hate"));
System.out.println("str_3 = " + str_3);
System.out.println(str_3.replace(" ", "a"));
4.判断字符串的开头与结尾
startsWith()方法与endsWith()方法分别用于判断字符串是否以指定的内容开始或结束。返回值都是boolean类型。
str.startsWith(String prefix) // prefix是指作为前缀的字符
str.endsWith(String suffix) // suffix是作为后缀的字符
String str_4 = "1234567890";
System.out.println("str_4的开头是"13"吗?" + str_4.startsWith("13"));
System.out.println("str_4的开头是"12"吗?" + str_4.startsWith("12"));
System.out.println("str_4的结尾是"99"吗?" + str_4.endsWith("99"));
System.out.println("str_4的结尾是"90"吗?" + str_4.endsWith("90"));
5.判断字符串是否相等
对字符串对象进行比较不能简单地使用比较运算符“ == ”,因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个对象的内存地址不同的,仍然会返回false。
String str_5 = new String("I like java");
String str_6 = new String("I like java");
System.out.println("(str_5 == str_6) = " + (str_5 == str_6));
String str_5 = "I like java"; String str_6 = "I like java";
因此,要比较两个字符串内容是否相等,应使用equals()方法和equalsIgnroeCase()方法。
String str_7 = new String("abc");
String str_8 = new String("ABC");
String str_9 = new String("abc");
System.out.println("str_7.equals(str_9) = " + str_7.equals(str_9));
System.out.println("str_7.equals(str_8) = " + str_7.equals(str_8));
System.out.println("str_7.equalsIgnoreCase(str_9) = " + str_7.equalsIgnoreCase(str_9));
System.out.println("str_7.equalsIgnoreCase(str_8) = " + str_7.equalsIgnoreCase(str_8));
1. equals(String otherstr)
如果两个字符串具有相同的字符和长度,则使用equals()方法进行比较时,返回true。(区分大小写)
2. equlsIgnoreCase(String otherstr)
在equals()的基础上不区分大小写。
6.按字典顺序比较字符串compareTo()方法为按字典顺序比较字符串,该比较基于字符串中各个字符的Unicode值,按字典顺序将此String对象表示的字符序列与参数字符序列进行比较。
str.compareTo(String otherstr) // 其中str、otherstr是要比较的两个字符串对象
// compareTo()方法只有在equals(Object)方法返回true时才返回0.
String str_10 = new String("abcd");
String str_11 = new String("abbd");
String str_12 = new String("abdd");
System.out.println("str_10.compareTo(str_11) = " + str_10.compareTo(str_11));
System.out.println("str_10.compareTo(str_12) = " + str_10.compareTo(str_12));
System.out.println("str_11.compareTo(str_12) = " + str_11.compareTo(str_12));
7.字母大小写转换
字符串的toLowerCase()方法可将字符串中的所有字符从大写字母改写为小写字母,而toUpperCase()方法可将字符串中的小写字母改写成大写字母 // str.toLowerCase() str.toUpperCase()
// 数字或非字符不受影响
String str_13 = new String("abc ABC");
System.out.println(str_13.toLowerCase());
System.out.println(str_13.toUpperCase());
System.out.println("str_13 = " + str_13);
不会在原字符串上修改,会返回
8.字符串的分割1. split(String sign)
str.split(String sign) 其中sign为分割字符串的分割符。
2. split(String sign, int limit)
str.split(String sign, int limt)
sign:分割字符串的分割符
limit:模式匹配次数,如果值设置为n,那么将根据正则表达式匹配n-1次,得到的结果数组长度不会大于n,数组的最后一项是最后匹配的分割符以后的全部内容
String weeks = new String("Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday");
String[] weeks_array1 = weeks.split(",");
String[] weeks_array2 = weeks.split(",", 6);
System.out.println("一个星期有:");
for(String i : weeks_array1)
{
System.out.print(i + " ");
}
System.out.println("n");
for(String i: weeks_array2)
{
System.out.print(i +" ");
}
没有统一的对字符进行分割的符号。如果想定义多个分割符,可将使用符号“|”。例如:
String str_14 = new String("a12b2c1d12e1");
String[] str_array = str_14.split("1|2");
for(String i : str_array)
{
System.out.print(i + " ");
}



