字符串
String自带的concat()方法可以实现将指定字符串连接到此字符串结尾的功能。语法:
//a.concat(str)
//a:原字符串
//str:原字符串末尾拼接的字符串
public class Test5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String a="人世间";
String b="耀如红日";
String c=a.concat(b);
System.out.println(c);//输出结果人世间耀如红日
}
}
字符串在计算公式中的先后顺序会影响运算结果
String a="1"+2+3+4 ->"1234" //碰到字符串后,直接输出后面内容
String b=1+2+3+"4" ->"64" //碰到字符串前,先做运算,后输出内容
String c="1"+(2+3+4) ->"19" //碰到字符串后,先运算括号中的值,后输出内容
获取字符串长度
//str.length()
String num="01234 56789";
int size=num.length();//size的值为11
获取指定的字符
//str.charAt(index);
public class Test5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="化身太阳照耀大地";
char chr=str.charAt(5);//将字符串str中索引位置为5的字符赋值给chr
System.out.println(chr);//输出结果为耀
}
}
获取子字符串索引位置
indexOf()方法返回的是搜索的字符或字符串首次出现的位置。
lastIndexOf()方法返回的是搜索的字符或字符串最后一次出现的位置。
如果未检索到,返回值为-1.
//a.indexOf(substr);
String str="we are the champin";
int size=str.indexOf("e");//size的值为1
int size1=str.lastIndexOf("e");//size1的值为9
判断字符串首尾内容
//str.startsWith(prefix)
//str:任意字符串
//prefix:作为前缀的字符串
boolean bool=str.startWith("喵");
//str.endWith(suffix)
//str:任意字符串
//suffix:指定的后缀字符串
boolean bool=str.endWith("汪");
获取字符数组
//str.toCharArray();
public class Test8 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="这是一个字符串";
char[] str1=str.toCharArray();
for(char x:str1){
System.out.println(x);
}
}
}
判断子字符串是否存在
//str.contains(string)
//str:任意字符串
//string:查询的子字符串
boolean request=str.contains("人");
字符串替换
//str.replace(oldstr,newstr);返回一个新的字符串
public class Test9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="明月几时有,一刀断水流";
String restr=str.replace("月", "日");
System.out.println(restr);//输出:明日几时有,一刀断水流
}
}
//注意:replace方法会将所有的oldstr全部替换为newstr
replace()和replaceAll()方法的区别
public class Test10 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//"\\d"成为正则表达是的元字符之一,表示数字0-9中的任何一个
String str ="0123456789abd\\d";
String restr=str.replace("\\d", "?");
String restrAll=str.replaceAll("\\d", "?");
System.out.println("原字符串str"+str);
System.out.println("用replace()替换原字符串str"+restr);
System.out.println("用replaceAll()替换原字符串str"+restrAll);
//结果为
//原字符串str0123456789abd\d
//用replace()替换原字符串str0123456789abd?
//用replaceAll()替换原字符串str??????????abd\d
//说明replace()方法不知道"\\d"的含义而relaceAll()方法知道。
}
}
replaceFirst(String regex,String replacement)
该方法可以实现将第一个指定的字符串替换成新的字符串,支持正则表达式。返回一个新的字符串
//str.replaceFirst(regex,replacement);
//str:任意字符串
//regex:第一个被替换的字符串
//replacement:替换后的字符串
split(String regex,limit)
//str.split(regex,limit)
//limit为限定的分割次数
//实则为分为几个部分。如limit=2,则将字符串分为两个部分
public class Test11 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="hhtp\\:www.mingri.com:192.168.1.1:2025";
String[]a2=str.split("\\.", 4);
//若同时想用多个分隔符,用|隔开
//String[]a3=str2.split("2| |:", 3);
for(String x:a2){
System.out.print(x+" ");
//输出结果:hhtp\:www mingri com:192 168.1.1:2025
}
}
}
大小写转换
toLowerCase();toUpperCase()
//str.toLowerCase();
//str.toUpperCase();
//有变化返回新字符,无则返回原字符。
去除字符串中所有空白内容
//利用正则表达式"\\s"
public class Test13 {
public static void main(String[] args){
String str=" a b d c d ";
String shortstr=str.replaceAll("\\s", "");
System.out.println(shortstr);
}
}