• Java


    String常用方法(二)

     

    (5)boolean = contains(CharSequence s)    //判断字符串中是否含有参数s

    public class TestString {
        public static void  main(String[] args){
                String string = "abcd";
                boolean a = string.contains("a");
                boolean b = string.contains("ab");
                boolean c = string.contains("ad");//只能判断连续的
            System.out.println(a+"--"+b+"--"+c);
        }
    }
    输出结果:
    true--true--false

    (6)  boolean   =  startsWith(String prefix)//判断字符串是否以参数开始
          boolean   =  endsWith(String suffix)//判断字符串是否以参数结尾

    public class TestString {
        public static void  main(String[] args){
         //此方法常用来扫描电脑以***结尾的后缀文件 String string
    = "abcde"; boolean a = string.startsWith("ab"); boolean b = string.startsWith("a"); boolean c = string.startsWith("b"); boolean d = string.endsWith("de"); System.out.println(a+"--"+b+"--"+c+"--"+d); } } 输出结果: true--true--false--true

    (7) byte[] = getBytes()    getBytes(String charsetName)  //将字符串转换为数组   byte类型的

      char[] = toCharArray()  //char类型的, 可以存储汉字等。。

    public class TestString {
        public static void  main(String[] args){
                String string = "我要打NBA";
                byte[] a = string.getBytes();
                for(byte val:a){
                    System.out.println(val);//byte只有8个字节 不足以存储汉字 会出现乱码
                }
                char[] b = string.toCharArray();
                for(char val : b){
                    System.out.println(val);//可以写(int)val  输出Unicode码
                }
        }
    }
    输出结果:
    -26
    -120
    -111
    -24
    -90
    -127
    -26
    -119
    -109
    78
    66
    65
    我
    要
    打
    N
    B
    A

    (8)int   =  indexOf(int ch) indexOf(int ch, int fromIndex)   indexOf(String str)  indexOf(String str, int fromIndex) //找寻给定的元素在字符串中第一次出现的索引位置   若字符串不存在则返回-1

        int  =  lastIndexOf(int ch)  lastIndexOf(int ch, int fromIndex)  lastIndexOf(String str) lastIndexOf(String str, int fromIndex)//找寻给定的元素在字符串中最后一次出现的索引位置  若不存在则返回-1

      

    public class TestString {
        public static void  main(String[] args){
                    String string = "abcdefgabc";
                    // 不论从哪儿开始找寻 返回的index都是相对于整个String的
                    int a = string.indexOf("a");//从0索引开始,以后第一次出现的索引位置(位置从头开始数)
                    int a1 = string.indexOf("a",2);//从2索引开始,以后第一次出现的索引位置(位置从头开始数)
                    int a2 = string.indexOf("abc");
                    int a3 = string.indexOf("abc",1);
                    int a4 = string.indexOf(97);//97--->a
                    int a5 = string.indexOf(97,2);
                    System.out.println(a+"--"+a1+"--"+a2+"--"+a3+"--"+a4+"--"+a5);
    
                    int b1 = string.lastIndexOf("a");// 找寻给定的元素在字符串中最后一次出现的索引位置  若不存在则返回-1
                    int b2 = string.lastIndexOf("a",6);//从6索引位置开始 往前找
                    System.out.println(b1+"--"+b2);
        }
    }
    输出结果:
    
    0--7--0--7--0--7
    7--0

    (9)boolean = isEmpty()// 判断当前字符串是否为空字符串  (length是否为0)    注意与null之间的区别

    public class TestString {
        public static void  main(String[] args){
                String string = "";//判断字符串是否有元素, 而null是引用为空
                String string1="1";
                boolean a = string.isEmpty();
                boolean b = string1.isEmpty();
                   System.out.println(a+"--"+b);
        }
    }
    输出结果:
    true--false

    (10) String = replace(char oldChar, char newChar) //只能输入单个字符参数来进行替换(提议替换所有的字符),不能替换字符串 replace(CharSequence target, CharSequence replacement)  //可以输入字符串

       String =replaceAll(String regex, String replacement)//与带参数的replace用法一致,可输入字符串参数,可替换所有字符

       String = replaceFirst(String regex, String replacement)//换第一次出现的字符

     

    public class TestString {
        public static void  main(String[] args){
                String string = "吃葡萄不吐葡萄皮,吃葡萄不吐葡萄皮";
            //常用于替换敏感字符 String string1
    = string.replace("葡萄","**");//替换全部字符串 String string2 = string.replace("吃","*");//替换全部字符 String string3 = string.replaceAll("葡萄","**");//替换全部字符串,与replace用法相同 String string4 = string.replaceFirst("葡萄","**");//替换首个字符串 System.out.println(string1); System.out.println(string2); System.out.println(string3); System.out.println(string4); } } 输出结果: 吃**不吐**皮,吃**不吐***葡萄不吐葡萄皮,*葡萄不吐葡萄皮 吃**不吐**皮,吃**不吐**皮 吃**不吐葡萄皮,吃葡萄不吐葡萄皮

    (11) String [ ] = split(String regex, int limit) //以regex参数为界限,拆分为limit参数个字符串,如果不写参数,则全部拆分

    import java.util.Scanner;
    
    public class TestString {
        public static void  main(String[] args){
                    String string = "a-b-c-d";
                    String [] strings = string.split("-",2); //以regex参数为界限,拆分为limit参数段
                    for(String val:strings){
                        System.out.println(val);
                    }
    //小练习
            //登录
            //数组充当小数据库
            //一位数组 String[] int[]
            String[] userBox = {"qwe-123","asd-666","zxc-888"};
            Scanner input = new Scanner(System.in);
            System.out.println("请输入账号:");
            String name = input.nextLine();
            System.out.println("请输入密码");
            String password = input.nextLine();
            boolean b = false;
            for(int i=0;i<userBox.length;i++){
                String[] value = userBox[i].split("-");//value[0]--name value[1]--password
                if(value[0].equals(name)){
                    if(value[1].equals(password)){
                        System.out.println("登录成功");
                        b = true;
                    }
                    break;
                }
            }
            if(!b){
                System.out.println("用户名或密码错误");
            }
        }
    }

    (12)  String = substring(int beginIndex)  substring(int beginIndex, int endIndex)  //截取字符串 , 从beginIndex开始  endIndex结束,若endIndex不写 则默认到字符串最后

    public class TestString {
        public static void  main(String[] args){
                    String string = "123456789";
                    String string1 = string.substring(2);//从2索引开始  直到结束
                    String string2 = string.substring(2, 5);//从2索引开始  直到5索引 [3,5)
                    System.out.println(string1);
                    System.out.println(string2);
        }
    }
    输出结果:
    3456789
    345

    (13)  String = toLowerCase()  String = toUpperCase()  //  将全部字符串转换成大写/小写

    public class TestString {
        public static void  main(String[] args){
            String str = "abcdefg";
            str = str.toUpperCase();//大写
            System.out.println(str);
            str = str.toLowerCase();//小写
            System.out.println(str);
        }
    }
    输出结果:
    ABCDEFG
    abcdefg

    (14)  String = trim() //去掉字符串前后多余的空格

    public class TestString {
        public static void  main(String[] args){
            String str = "  123 456    ";
            str = str.trim();
            System.out.println(str);
        }
    }
    输出结果:
    123 456
  • 相关阅读:
    Python+Selenium自动化总结
    Python+Selenium自动化-定位一组元素,单选框、复选框的选中方法
    Python+Selenium自动化-模拟键盘操作
    【leetcode】1053. Previous Permutation With One Swap
    【leetcode】1052. Grumpy Bookstore Owner
    【leetcode】1034. Coloring A Border
    【leetcode】1042. Flower Planting With No Adjacent
    【leetcode】1035. Uncrossed Lines
    【leetcode】1048. Longest String Chain
    【leetcode】1047. Remove All Adjacent Duplicates In String
  • 原文地址:https://www.cnblogs.com/yyanghang/p/11180378.html
Copyright © 2020-2023  润新知