字符串中删除多余下划线——Java实现

题目说明:字符串前后所有以及中间多余一个的下划线被称为“多余下划线”。
Java代码:

import java.util.Scanner;
public class rrr {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        changeCase(str);
    }
    public static void changeCase(String str){
        char[] a = str.toCharArray();//将字符串转为字符数组
        int i = 0, j = 0, l = 0, k = 0;
        k = a.length - 1;
        char[] c=new char[k];

        if(i==0) //截取首尾非空格的字符部分
        {
            for(j = 0; a[j] == '_'; j++); //扫描字符串首
            for(;a[k] == '_'; k--);//扫描字符串尾
        }

        for(l = 0, i = j; i <= k; i++)
        {
            if(a[i] == '_' && a[i + 1] == '_');
                //如果当前是空格,并且下一个也是空格,则不把当前元素放入新的字符串
            else
                c[l++] = a[i];//仅当前是空格或当前是有效元素,把数据放入新的字符串
        }
        System.out.println(c);
    }
}

运行结果:
在这里插入图片描述


版权声明:本文为ling08140814原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。