java——string类
string是一个引用类型,实际上是java库中预定义的类
string类型对象是不可变的,修改string值,都只能创建一个新的string对象
String newstring=new String(“abc”);//创建字符串命名为newstring并将abc赋给它
String newstring=(“abc”);//因为字符串默认为String类型,所以此语句合法
还可以用字符数组创建一个字符串:
char[] a= {‘A’,‘B’,‘C’};
String newstring=new String(a);
下面是string类中的常用方法:
equals(s1)//如果和s相等返回true
equalsIgnoreCase(s1)//如果不区分大小写等于s1,返回true
compareTo(s1)//返回一个int型的值:大于0 >s1 小于0 <s1 等于0 ==s1
compareToIgnoreCase(s1)//不区分大小写比较字符串
startswith(pre)//判断字符串是否以pre开头,如果是返回true
endswith(suf)//判断字符串是否以suf结尾,如果是返回true
ps:==只能判断两个字符串是否指向同一个对象,不能判断字符串内容是否相等,判断字符串相等需要使用equals语句
length()//返回字符串长度
charAt(n)//返回字符串n处的下标
concat(s1)//返回连接字符串和s1之后的字符串
ps:可以使用+来连接字符串,eg:String s3=s2.concat(s1);等价于String s3=s2+s1;
substring(begin)//返回这个字符串从下标为begin字符开始到结束的子字符串
substring(begin,end)//返回这个字符串从下标为begin字符开始到(end-1)的子字符串
toLowerCase()//返回将所有字符转化为小写之后的字符串
toUpperCase()//返回将所有字符转化为大写之后的字符串
trim()//返回去掉两端空白字符后的新字符串
replace(a,b)//返回用字符b替代字符串中所有a字符之后的新字符串
replaceFirst(string1,string2)//返回用字符串string2替代第一个string1之后的新字符串
replaceAll(string1,string2)//返回用字符串string2替代所有string1之后的新字符串
split(string)//返回用定界符分割之后的字符串数组
indexOf(ch)//返回字符串中第一次出现ch的下标,如果没有则返回-1
indexOf(ch,n)//返回字符串中下标n之后第一次出现ch的下标
indexOf(string)//返回字符串中第一次出现string的下标,如果没有则返回-1
indexOf(srring,n)//返回字符串中下标n之后第一次出现string的下标
lastIndexof(ch)// 返回字符串中最后一次出现ch的下标,如果没有则返回-1
lastIndexof(ch,n)// 返回字符串中下标n之前最后一次出现ch的下标,如果没有则返回-1
lastIndexof(string)//返回字符串中最后一次出现string的下标,如果没有则返回-1
lastIndexof(string,n)//返回字符串中下标n之前最后一次出现string的下标,如果没有则返回-1
char[] chars=”java”.toCharArray();//将string“java”变为字符型数组“j”“a”“v”“a”
getchars(a,b, chars,n)//将字符串中从下标a到b-1赋给字符数组chars从下标n开始位置
valueOf(char[] chars)//将字符数组转化为字符串(在string类中)
ps:
可用构造方法 String(char[])//将字符数组转化为字符串
valueOf(elemtype elem)// 可将其他类型数据转化为字符串
把字符串转化为int使用Integer中的parseInt方法:
Int a=Integer. parseInt(字符串名)
把字符串转化为double使用Double中的parseDouble方法:
double a=Double. parse Double (字符串名)
补充:正则表达式
Eg1:”java is fun”.matches(java.*)为true。
mathes功能类似于equals,但是mathes功能更强大,它可以匹配以特定字符开始的所有字符串,在例子中.*与0或多个字符相匹配
Eg2:String s=”asdfghj”.replace(“[sfh]”,”111”)
表示用111替代字符串中的s,f或h,替代结果为a111d111g111j
Eg3:String[] s=”as,df?gh:j”.split(“[,?:]”)返回一个数组a[0]=as a[1]=df a[2]=gh a[3]=j