String类中的常用方法

来源:互联网 发布:asp.net与vb.net 编辑:程序博客网 时间:2024/05/18 20:31
import java.io.IOException;import java.io.UnsupportedEncodingException;import java.nio.charset.Charset;import org.junit.Test;public class StringDemo {    /*     * 2.输出String s =“1234567”的长度,第3个字符,字节个数     */    @Test    public void demo1(){        //String str = "ak中文";        //String str2 = new String("dsjsdj");        String s="1234567";        System.out.println(s.length());//7        System.out.println(s.charAt(2));//3        System.out.println(s.getBytes().length);    }    /*    3、输出s=“1234567中"的长度,第3个字符,字节个数     */    @Test    public void demo2() throws UnsupportedEncodingException{        String s="1234567中";        System.out.println(s.length());//8个字符        System.out.println(s.charAt(2));//3        System.out.println( s.getBytes("gbk").length);//utf-8:一个汉字3字节,  gbk:一个汉字两个字节    }    /*     * 4、判断某段字符是否含有汉字(假定只有中英文字符)     */    @Test    public void demo3() throws IOException{        String s="1234567er汉erer";        if(s.length()<s.getBytes("gbk").length){            System.out.println("有汉字");        }else{            System.out.println("无汉字");        }    }    /*       5、分别输出一个字符串中的中文字符、英文字母、数字     */    @Test    public void demo4() throws IOException{        String s="1FK236W7er汉et34中国fg语法23Rr45er";        for(int i=0;i<s.length();i++ ){            char ch = s.charAt(i);            int len = (""+ch).getBytes().length;            if(len>1){                System.out.println("汉字:"+ch);            }else if(ch>='0'&&ch<='9'){                System.out.println("数字:"+ch);            }else{                System.out.println("字母:"+ch);            }        }    }    /*       5、分别输出一个字符串中的中文字符、英文字母、数字     */    @Test    public void demo4_2() throws IOException{        String s="1FK236W7er汉et34中国fg语法23Rr45er";        for(char ch: s.toCharArray() ){            int len = (""+ch).getBytes().length;            if(len>1){                System.out.println("汉字:"+ch);            }else if(ch>='0'&&ch<='9'){                System.out.println("数字:"+ch);            }else{                System.out.println("字母:"+ch);            }        }    }    @Test    public void demo5() throws IOException{        //※注意,凡是String类中的字符串处理函数,都是原字符串不变,处理结果是返回出来的那个新串        String s="1FK236W7er汉et34中国fg语法23Rr45er";        s=s.toUpperCase();        System.out.println(s);        s=s.replace('R', '8');        System.out.println(s);        String str="Jack,20,Tom,22,张三,30";        String ss[] = str.split(",");//regex---正则表达式        for(String a:ss){            System.out.println(a);        }    }    @Test  //regex---正则表达式  String中用到正则表达式的几个方法:replaceAll(),split(),matches()    public void demo6(){//      String str="Jack,20,Tom,22,张三,30";//      String ss[] = str.split(",");//      String str="Jack,20 Tom   22,张三,30";//      String ss[] = str.split(",| +");//      String str="Jack,20 Tom   22|张三,30";//      String ss[] = str.split(",| +|\\|");//正则表达式中的特殊字符要进行转义,如: \\|  \\.        String str="Jack,20 Tom   22|张三,30";        //如果被分割字符串中存在特殊的正则字符,我们不想转义,则可用替换来解决        //str=str.replaceAll("|", ",");//bug---第一个参数是正则表达式,该句有bug,会在任意字符间进行分割替换        //str=str.replaceAll("\\|", ",");//ok--正则表达式中的特殊字符,要转义        str=str.replace('|', ',');        //String aa='welcome';//单引号不能用来定义字符串        String ss[] = str.split(",| +");        for(String s:ss){            System.out.println(s);        }    }}
import java.util.Scanner;import org.junit.Test;public class StringDemo2 {    /*     * 1、字符串比较大小     */    @Test    public void demo(){        String str1="abc123";        String str2="abcdswehhw123";        int res = str1.compareTo(str2);        if(res>0){            System.out.println(str1+"更大!");        }else if(res<0){            System.out.println(str1+"更小!");        }else{            System.out.println(str1+"等于"+str2);        }    }    /*     *  2、子串位置查找        3、查找姓名中带“飞”字的人,查找姓“张”的人。        4、查找扩展名为“.java”的文件名。     */    @Test    public void demo2(){        String str1="abc12de2323io883";        int pos = str1.indexOf('c');//查找字符,找到则返回起始位置,若没找到则indexOf()会返回-1        System.out.println("pos:"+pos);        pos = str1.indexOf("io88");//查找子串,找到则返回起始位置,若没找到则indexOf()会返回-1        System.out.println("pos:"+pos);    }    /*        3、查找姓名中带“飞”字的人,查找姓“张”的人。        4、查找扩展名为“.java”的文件名。     */    @Test    public void demo3(){        String names[]={"张飞","张飞丰","张无忌","赵敏","赵子龙","飞龙张","小李飞刀"};        //姓名中带“飞”字的人        for(String nm:names){            if( nm.indexOf("飞") >= 0 ){                System.out.println(nm);            }        }        System.out.println("===============");        //查找姓“张”的人。        for(String nm:names){            if( nm.indexOf("张") == 0 ){                System.out.println(nm);            }        }        System.out.println("===============");        //查找姓“张”的人。        for(String nm:names){            if( nm.startsWith("张") ){                System.out.println(nm);            }        }    }    /*       4、查找扩展名为“.java”的文件名。     */    @Test    public void demo4(){        String names[]={"aa.java","bc.java.c","1.java","赵敏.txt","赵子龙.java","飞龙张.c.java","小李.java.飞刀"};        for(String nm:names){            if(nm.endsWith(".java")){                System.out.println(nm);            }        }    }    /*判断用户名和密码是否正确,同时用户名忽略大小写*/    @Test    public void demo5(){        String name="Jack";        String pwd="1234";        Scanner sc = new Scanner(System.in);        while (true) {            String nm = sc.nextLine();            String pwd2 = sc.nextLine();            if (nm.trim().equalsIgnoreCase(name) && pwd2.equals(pwd)) {                System.out.println("登录成功....");            } else {                System.out.println("登录失败....");            }        }    }}
原创粉丝点击