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
原文地址:https://www.cnblogs.com/yyanghang/p/11180378.html