js去除字符串的指定字符

161人浏览   2023-10-23 14:41:08


题目描述

编写一个程序,先输入一个字符串str(长度不超过20),再输入单独的一个字符ch,然后程序会把字符串str当中出现的所有的ch字符都删掉,从而得到一个新的字符串str2,然后把这个字符串打印出来。

输入说明

输入有两行,第一行是一个字符串(注意,内部可能有空格!),第二行是一个字符。

输出说明

经过处理以后的字符串。

输入样例

123-45-678

-

输出样例

12345678

解题思路

  1. 将字符串转换成字符数组 String strArr[] = str.split("");
  2. 将字符ch转换成字符串 String strCh = String.valueOf(ch);
  3. 对字符数组进行遍历,如果发现字符ch,字符数组向前移一位

代码示例

import com.sun.deploy.util.StringUtils;

import java.util.Scanner;
/*编写一个程序,先输入一个字符串str(长度不超过20),
再输入单独的一个字符ch,然后程序会把字符串str当中出现的所有的ch字符都删掉,
从而得到一个新的字符串str2,然后把这个字符串打印出来。
*/
public class DeleteChar {
    static Boolean Flag = false;
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //输入字符串和字符
        /*123  -  45-678
        123-45-678
        123-45-678----- --7876
                -*/
        String str = scanner.nextLine();
        char ch = scanner.next().charAt(0);
        //System.out.println(str);
        String strArr[] = str.split("");
        String strCh = String.valueOf(ch);
        int count = 0;
      
       //内循环每次都从0开始,再加一个外循环
        for(int k=0;k<strArr.length;k++){
            for (int i = 0; i < strArr.length; i++) {
                if (strArr[i].equals(strCh)) {
                    count++;
                    for (int j = i; j < strArr.length - 1; j++) {
                        strArr[j] = strArr[j + 1];
                    }
                }
            }
        }

        //遍历
        System.out.println(count);
        for (int i=0;i<strArr.length-count;i++){
            System.out.print(strArr[i]);
        }
    }
}

运行结果

123- 45- 678
-
123 45 678
46545--=jj--j4
j
3
46545--=--4

相关推荐