1.字符串比较
常见方法:
在String类中compareTo()方法是一个非常重要的方法,该方法返回一个整型,该数据会根据大小关系返回三类内容:
- 相等:返回0.
- 小于:返回内容小于0.
- 大于:返回内容大于0
compareTo()是一个可以区分大小关系的方法,是String方法里是一个非常重要的方法。
字符串的比较大小规则, 总结成三个字 “字典序” 相当于判定两个字符串在一本词典的前面还是后面. 先比较第一
个字符的大小(根据 unicode 的值来判定), 如果不分胜负, 就依次比较后面的内容
代码示例:
String str1 = "hello";
String str2 = "hello";
String str3 = "Hello";
//equals,区分大小写比较
System.out.println(str1.equals(str2));
//equalsIgnoreCase,不区分大小写
System.out.println(str1.equalsIgnoreCase(str3));
String str4 = "Hello";
//compareTo比较,根据字典顺序比较
System.out.println(str3.compareTo(str4));
System.out.println(str1.compareTo(str3));
运行结果:
2.字符串查找
注意:
使用indexOf()需要注意的是,如果内容重复,它只能返回查找的第一个位置
代码示例:
String str1 = "abcdefg";
System.out.println(str1.contains("bcd"));
System.out.println(str1.contains("jis"));
String str2 = "hello";
System.out.println(str2.indexOf("llo"));
System.out.println(str2.indexOf("jk"));
System.out.println(str2.indexOf("ju",3));
String str3 = "abcdab";
//从后往前找
System.out.println(str3.lastIndexOf("ab"));
//从fromIndex往前找
System.out.println(str3.lastIndexOf("ab",3));
String str4 = "abcdeabc";
System.out.println(str4.startsWith("abc"));
System.out.println(str4.startsWith("cde",2));
String str5 = "happy";
System.out.println(str5.endsWith("py"));
运行结果:
3.字符串替换
代码示例:
String str1 = "abcdabhjabdlabui";
System.out.println(str1.replace("ab","hhh"));
System.out.println(str1.replaceAll("ab","xxx"));
System.out.println(str1.replaceFirst("ab","xxx"));
运行结果:
4.字符串分隔
代码示例:
String str = "username=zhangsan&password=123";
String [] strings = str.split("&");
for(int i = 0; i < strings.length; i++){
System.out.println(strings[i]);
String [] strings1 = strings[i].split("=");
for(int j = 0; j < strings1.length; j++){
System.out.println(strings1[j]);
}
}
System.out.println("=====================");
String str2 = "123&456&678&789";
String [] strings2 = str2.split("&",10);
for(int i = 0; i < strings2.length; i++){
System.out.println(strings2[i]);
}
运行结果:
注意事项:
- 字符"|","*","+“都得加上转义字符,前面加上”".
- 如果一个字符串中有多个分隔符,可以用"|"作为连字符.
5.字符串截取
代码示例:
String str = "hello java hello bit";
//从当前位置到字符串最后
System.out.println(str.substring(6));
//左闭右开
System.out.println(str.substring(6,12));
运行结果:
6.字符串其他方法
代码示例:
String str1 = " hello java ";
System.out.println(str1.trim());
String str2 = "DayDayUp";
System.out.println(str2.toLowerCase());
String str3 = "DayDayUp";
System.out.println(str3.toUpperCase());
String str4 = "abc";
System.out.println(str4.concat("def"));
String str5 = "happy";
System.out.println(str5.length());
String str6 = "";
System.out.println(str6.isEmpty());
String str7 = new String();
System.out.println(str7.length());
System.out.println(new String().isEmpty());
运行结果:
注意事项:
- 数组长度使用数组名称.length属性,而String中使用的是length()方法
- isEmpty(),判断的是字符串的长度是否为0
- String str = new String(),str为""