最近工作中用到了大量有关字符串截取的知识,在此做出总结,希望需要的朋友带来帮助:
可以复制粘贴代码直接在java中测试
1.将字符串中的指定字符":","-"删除:
main(String[] args) {
String time="2015-12-06 19:04:08";
String formatedata=time.replaceAll(":", "");
String formatedata1=formatedata.replaceAll("-", "");
System.out.println(formatedata1);
}
//控制台输出:20151206 19040
2.截取字符串中指定的字符:
main(String[] args) { String time="2015-12-06 19:04:08"; //substring(3,time.indexOf("08")第一个参数3代表截取的开始位置(字符串从0开始),第二个参数是结束位置完全可以写为整数 String formatedata=time.substring(3,time.indexOf("08")); System.out.println(formatedata); } //控制台输出:5-12-06 19:04:
3.验证字符串中是否含有某个字符:
main(String[] args) { String time="2015-12-06 19:04:08"; boolean is=time.contains("19"); System.out.println(is); } //控制台输出:true
4.查看字符串是否以某指定的字符串开头或结束:
main(String[] args) { String time="2015-12-06 19:04:08"; is=time.startsWith("20"); is1=time.endsWith("08"); System.out.println(is); System.out.println(is1); } //控制台输出:true true
5.获取字符串的长度:
main(String[] args) { String time="2015-12-06 19:04:08"; int length=time.length(); System.out.println(length); } //控制台输出:19
6.截取一个字符:
main(String[] args) { String time="2015-12-06 19:04:08"; System.out.println(time.charAt(6)); } //控制台输出:2
7.同一个字符开始和结束位置
main(String[] args) { String time = "2015-12-06 19:04:08"; int a = time.indexOf("0"); int b = time.lastIndexOf("0"); System.out.println("字符串0第一次出现的位置" + a + ",,,最后一次出现的位置" + b); } //控制台输出:字符串0第一次出现的位置1,,,最后一次出现的位置17
8.连接字符串
main(String[] args) { int a = 42; StringBuffer sb = new StringBuffer(); String s = sb.append("a=").append(a).append("!").toString(); System.out.println(s); } //控制台输出:a=42!
9.在指定位置插入字符串
main(String[] args) { StringBuffer a=new StringBuffer("我是小明"); StringBuffer b=a.insert(2, "黄"); System.out.println(b); } //控制台输出:我是黄小明
10.删除指定字符:
main(String[] args) { StringBuffer a=new StringBuffer("abcdefghijklmn"); //删除,从下标为3的字符开始到下标为7的字符 StringBuffer b=a.delete(3, 7); System.out.println(b); } //控制台输出:abchijklmn
目前总结就这些,希望给大家带来帮助。
另外我一直不太清楚String和StringBuffer的区别,大多数都用String,几乎没有用过StringBuffer,那什么时候该用String,什么时候该用StringBuffer呢?希望朋友们可 以指教,谢谢。