String中的一些方法的使用
NoRe
比较CompareTo()
int compareTo(String anotherString)
按字典顺序比较两个字符串。
int compareToIgnoreCase(String str)
按字典顺序比较两个字符串,不考虑大小写。
如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数。
如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数。
如果这两个字符串相等,则结果为 0
//根据字符的ASCII码进行比较
//此处比较了两者第一个字符的位置a和d的ASCII分别为97,100
int num1 = "abc".compareTo("def");
System.out.println(num1);//-3
int num2 = "def".compareTo("abc");
System.out.println(num2);//3
int num3 = "abc".compareTo("abc");
System.out.println(num3);//0
//此处由于第一个字符相等,去比较下一个字符,下一个字符相等就往后推
int a="abc".compareTo("abd");
System.out.println(a);//-1
/*由于第一个字符相等,但又无法比较下一个字符,所以这里返回的时两者的字符串长度的比较*/
int a="abc".compareTo("a");
System.out.println(a);//2
//重写
public int compareTo(Staff o){
int n1=this.age-o.age;
int n2=n1==0?n2=this.years-o.years:n1;
int n3=n2==0?(this.sal-o.sal):n2;
return n3;
}
拆分split()
/*最简单的一种用法split()方法时redex,所以面对其他复杂情况时,也可使用*/
String ss2="北京,上海,深圳,广州";
String[] cities=ss2.split(",");
for (String s:cities){
System.out.println(s);
}
//比如某一个字符串前面多了一个空格字符
String ss2="北京, 上海,深圳,广州";
String[] cities=ss2.split(", |,");
for (String s:cities){
System.out.println(s);
}
替换replacesAll()
//扩展案例 了解
String say="我喜.....喜喜欢欢欢欢...喜欢...编编.....程程....";
//我喜欢编程
//1替换.
String say2 = say.replaceAll("\\.","");
System.out.println(say2);
//2把重复的汉字替换为一个
String say3=say2.replaceAll("(.)\\1+", "$1").replaceAll("(.)(.)(\\1\\2)+","$1$2");
System.out.println(say3);
获取
//(3)获取
String con="java是世界上最好的语言,Java真棒,JAVA牛";
String reg3="([jJ]ava)|(JAVA)";//使用|表示或
Pattern p2 = Pattern.compile(reg3);
Matcher matcher = p2.matcher(con);
while(matcher.find()){ System.out.println(matcher.group());
}