String方法:
int length()//获取字符串的长度
int indexof(String)//获取第一出现string字符的位置
int lastIndexOf(String);//查找最后一次出现指定字符串的位置
int indexof(String,int i)//获取从i位置开始String的位置
String substring(int i)//截取字符串i之后的内容(包括i)
String substring(int a,int b)//截取时含头不含尾,截取第一个a开始(包含)到第二个b结束(不包含)中间的内容
String trim()//去除字符串两边缩进(空格)
char charAt(int i)//返回下标为i的字符
boolean startsWith(String)//判断是否以string开头
boolean endsWith(String)//判断是否以string结尾
String toUpperCase()//将当前字符串转化为全大写
String toLowerCase()//将当前字符串转换为全小写
String valueOf()//将给定内容转化字符串,静态方法,直接使用String调用
StringBuilder类的增删改插: 其内部维护一个可变的char数组,所有的修改都是在这个数组中进行的,因此开销小,性能好,可以直接减少因为修改字符串而导致堆中string对象的创建.
boolean matches(String regex)
使用给定的正则表达式匹配当前字符串是否符合格式要求,符合返回true.注意:给定的正则表达式就算不指定便捷通配符
即:(^…$)也是做完全匹配的
String[] spilt(String regex)
将当前字符串按照满足正则表达式的部分拆分然后将拆分后的字符串以数组方式返回.spilt末尾拆出的空串会默认省略
String replaceAll(String regex,String str)
将当前字符串满足正则表达式的部分替换为给定的内容
获取长度
/*
- int length()
- 获取当前字符串的长度
*/
public class LengthString {
public static void main(String[] args) {
String str=“I love java!”;
System.out.println(str.length());
}
}
结果:12
查找字符位置
/**
- int indexof(String str) (默认下标从0开始)
- 查找给定字符串在当前字符串中的位置,若当前字符串不包含给定内容则返回-1
/
public class IndexofDemo {
public static void main(String[] args) {
// 01234567890123456
String str=“thinking in java!”;
int index=str.indexOf(“in”);
System.out.println(index);//2
/
* 重载的方法允许我们从指定的位置开始查找第一次出现的指定支付的位置
*/
index=str.indexOf(“in”,3);
System.out.println(index);//5
//查找最后一次出现指定字符串的位置
index=str.lastIndexOf(“in”);
System.out.println(index);//9
}
}
结果:2
5
9
substring方法
/**
- String substring(int start,int end)
- 截取当前字符串中指定范围内的字符串
- 注:java API中,通常使用两个数字表示范围时,
- 都是含头不含尾
*/
public class SubstringDemo {
public static void main(String[] args) {
String str=“0123456789”;
String sub=str.substring(4,5);
System.out.println(sub);
//从指定位置开始截取到字符串末尾
sub=str.substring(4);
System.out.println(sub);
}
}
结果:4
456789
trim()
/**
- String trim()
- 去除当前字符串两侧的空白字符
*/
public class TrimDemo {
public static void main(String[] args) {
String str=" hello ";
String trim=str.trim();
System.out.println(str);
System.out.println(trim);
}
}
结果:
hello
hello
charAt()
/**
- char charAt(int index)
- 获取当前字符串中指定位置对应的字符
*/
public class CharAtDemo {
public static void main(String[] args) {
// 0123456789012345
String str = “thinking in java”;
char a=str.charAt(12);
System.out.println(a);
}
}
结果:j
charAt回文小案例
public class CharAtDemo {
public static void main(String[] args) {
//判断回文
String line=“上海自来水来自海上”;
for(int i=0;i<line.length()/2;i++) {
char c1=line.charAt(i);
char c2=line.charAt(line.length()-1-i);
if(c1!=c2) {
System.out.println(“不是回文”);
return ;
}
}
System.out.println(“是回文”);
}
}
结果:是回文
startsWith和endsWith
/**
- boolean startsWith(String str)
- boolean endsWith(String str)
- 判断字符串是否以给定的字符开始或结尾
*/
public class startsWith {
public static void main(String[] args) {
String str =“thinking in java”;
boolean start=str.startsWith(“think”);
boolean end=str.endsWith(“java”);
System.out.println(start+""+end);
}
}
toUpperCase和toLowerCase
/**
- String toUpperCase()
- String toLowerCase()
- 将当前字符串中的英文部分转化为全大写或全小写
*/
public class ToUppCase {
public static void main(String[] args) {
String str=“I love Java,and you ?”;
String str1=str.toUpperCase();
String str2=str.toLowerCase();
System.out.println(str1);
System.out.println(str2);
}
}
结果:
I LOVE JAVA,AND YOU ?
i love java,and you ?
valueOF
/**
- 字符串提供了若干的重载valueOf方法,他们
- 都是静态方法
- static String valueof(XXX xxx)
- 作用将给定的内容转换为字符串
*/
public class ValueOfDemo {
public static void main(String[] args) {
double a=36.258;
//valueOf效率要由于直接拼接(拼接进行了运算)
String str=String.valueOf(a+“haha”);
System.out.println(str);
str=""+a;
System.out.println(str);
}
}
结果:
36.258haha
36.258
StringBuilder的增,删,改,插
/**
- String的优化措施仅照顾重用性,因此频繁修改字符串会带来内存开销大,
- 运行效率差的结果,对此,java提供了一个专门用于修改字符串的API
- java.lang.StringBuildes
- 其内部维护一个可变的char数组,所有的修改都是在这个数组中进行
- 的,因此开销小,性能好.
- 并且其提供了便于修改字符串的一系列方法,包括:增,删,改,插等基本操作.
*/
public class StringBuilderDemo {
public static void main(String[] args) {
String str=“我爱学习java”;
StringBuilder builder=new StringBuilder(str);
builder.append(",java魅力无限.");
System.out.println(str);//我爱学习java
str=builder.toString();
System.out.println(str);//我爱学习java,java魅力无限.
builder.replace(9, 17, “java不爱我”);//含头不含尾
str=builder.toString();
System.out.println(str);//我爱学习java,java不爱我.
builder.delete(0, 9);
str=builder.toString();
System.out.println(str);//java不爱我.
builder.insert(0, “唉呀妈呀,”);
str=builder.toString();
System.out.println(str);//唉呀妈呀,java不爱我.
int i=builder.indexOf(“java”);
System.out.println(i);//5
}
}