字符串获取字符,获取索引,截取,替换,分割,字节转换,字符转换,拼接,统计个数

package com.web;

import java.util.Scanner;

public class Test45 {
    public static void main(String[] args) {
        String str = "itcast itheima";

        // char charAt(int index):获取指定索引处的字符
        System.out.println(str.charAt(2));//c

        //int indexOf(String str):获取str在字符串对象中第一次出现的索引,没有返回-1
        System.out.println(str.indexOf("it"));//0
        System.out.println(str.indexOf("xx"));//-1

        //String substring(int start,int end):从start到end截取字符串。含start,不含end。
        System.out.println(str.substring(1, 4));//tca

        //替换字符串中的匹配部分,不匹配reple就还是itcast itheima
        //替换字母cast为大写CAST
        String replace = str.replace("cast", "CAST");
        System.out.println(replace);//itCAST itheima

        //此时str的值还是最初的itcast itheima
        String[] strArr1 = str.split("i");
        for (int i = 0; i < strArr1.length; i++) {
            System.out.print(strArr1[i] + " ");//tcast  the ma ,不管原字符串空格
        }
        System.out.println("");

        //想要分割替换后的就要带入replace
        String[] strArr = replace.split("i");
        for (int i = 0; i < strArr.length; i++) {//tCAST  the ma
            System.out.print(strArr[i] + " ");
        }
        System.out.println("");

        // char[] toCharArray():把字符串转换为字符数组
        char[] chs = str.toCharArray();
        for (int x = 0; x < chs.length; x++) {
            System.out.print(chs[x] + " ");//i t c a s t   i t h e i m a
        }
        System.out.println("");

        // byte[] getBytes ():把字符串转换为字节数组
        byte[] bytes = str.getBytes();
        for (int x = 0; x < bytes.length; x++) {
            System.out.print(bytes[x] + " ");//105 116 99 97 115 116 32 105 116 104 101 105 109 97
        }
        System.out.println("");

        String[] arr = {"1", "a", "c", "b"};
        //拼接数组元素为字符串
        String str1 = arrayToString1(arr);
        System.out.println("str1 = " + str1);//str1 = 1acb
        //按照指定的格式拼接数组元素为字符串
        String str2 = arrayToString(arr);
        System.out.println("str2 = " + str2);//str2 = [1#a#c#b]

        //统计字符个数
        Scanner scanner = new Scanner(System.in);
        System.out.print("INPUT STRING :");//! "#df asd12 3AA
        String str3 = scanner.nextLine();
        CountString(str3);

    }

    private static String arrayToString(String[] arr) {
        String s = "[";
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                s = s.concat(arr[i] + "]");
            } else {
                s = s.concat(arr[i] + "#");
            }
        }
        return s;
    }

    private static String arrayToString1(String[] arr) {
        String s = "";
        for (int i = 0; i < arr.length; i++) {
            s = s.concat(arr[i]);
        }
        return s;
    }

    private static void CountString(String str) {
        //定义三个统计变量,初始化值都是0
        int bigCount = 0;
        int smallCount = 0;
        int numberCount = 0;
        int illegalCount = 0;//空格是非法字符
        //遍历字符串,得到每一个字符
        for (int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            //拿字符进行判断
            if (ch >= 'A' && ch <= 'Z') {
                bigCount++;
            } else if (ch >= 'a' && ch <= 'z') {
                smallCount++;
            } else if (ch >= '0' && ch <= '9') {
                numberCount++;
            } else {
                illegalCount++;
                System.out.println("This Character" + ch + "is Illegal");
            }
        }

        //输出结果
        System.out.println("Big Character:" + bigCount);
        System.out.println("Small Character:" + smallCount);
        System.out.println("Number Character:" + numberCount);
        System.out.println("Illegal Character:" + illegalCount);
    }
    //INPUT STRING :! "#df asd12 3AA
    //This Character!is Illegal
    //This Character is Illegal
    //This Character"is Illegal
    //This Character#is Illegal
    //This Character is Illegal
    //This Character is Illegal
    //Big Character:2
    //Small Character:5
    //Number Character:3
    //Illegal Character:6
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值