当前位置: 代码迷 >> Java相关 >> Java—字符串总结
  详细解决方案

Java—字符串总结

热度:24   发布时间:2016-04-22 19:26:44.0
Java—字符串小结

 最近工作中用到了大量有关字符串截取的知识,在此做出总结,希望需要的朋友带来帮助:
  可以复制粘贴代码直接在java中测试
1.将字符串中的指定字符":","-"删除:

public static void 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.截取字符串中指定的字符:

public static void 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.验证字符串中是否含有某个字符:

public static void main(String[] args) {        String time="2015-12-06 19:04:08";        boolean is=time.contains("19");        System.out.println(is);    }    //控制台输出:true

4.查看字符串是否以某指定的字符串开头或结束:

public static void main(String[] args) {        String time="2015-12-06 19:04:08";        //字符串是否以"20"开头        boolean is=time.startsWith("20");        //字符串是否以"08"结束        boolean is1=time.endsWith("08");        System.out.println(is);        System.out.println(is1);    }    //控制台输出:true true

5.获取字符串的长度:

public static void main(String[] args) {        String time="2015-12-06 19:04:08";        int length=time.length();        System.out.println(length);    }      //控制台输出:19

6.截取一个字符:

public static void main(String[] args) {        String time="2015-12-06 19:04:08";        System.out.println(time.charAt(6));    }     //控制台输出:2

7.同一个字符开始和结束位置

public static void 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.连接字符串

public static void 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.在指定位置插入字符串

public static void main(String[] args) {        StringBuffer a=new StringBuffer("我是小明");        StringBuffer b=a.insert(2, "黄");        System.out.println(b);    }        //控制台输出:我是黄小明

10.删除指定字符:

public static void 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呢?希望朋友们可   以指教,谢谢。

 

3楼背着理想去流量
String和StringBuffer就是在字符串拼接时会产生的对象个数不一样,,,String会产生多个对象,造成无用的对象引用,StringBuffer不会,,至此最终都只有一个对象,,,因此速度上会比String快很多。。。但StringBuffer不是线程安全的,,,StringBuilder是线程安全的...
2楼大萝卜控
StringBuffer会预先分配一定的内存,所以操作的时候不会产生新的对象,普通string则会产生新的对象。。。C#是这样的,JAVA估计类似。。。
1楼新鲜欢喜
我看着博主的头像来的。
  相关解决方案