输入样例:
ABC xyz 123 ?!
结尾无空行
输出样例:
abc242526*
14 3 2
输出为两行,
先给出更改和吞掉字符之后的结果,在第一行输出,
再统计输入的字符总数n、被吞掉的数字字符个数d、被吞掉的其它字符个数t,在第二行输出,以空格间隔。
先给出更改和吞掉字符之后的结果,在第一行输出,
再统计输入的字符总数n、被吞掉的数字字符个数d、被吞掉的其它字符个数t,在第二行输出,以空格间隔。
思路:
1、在未转换时,先计算原字符串字符的总数n,即str.length;再计算数字字符的个数、遍历字符串,符合Number(str[i]) >= 0 && Number(str[i]) <= 9,则数量+1,算出数字字符总数;
2、转换输入字符串,遍历字符串,判断如果是大写字母,则转换成小写字母,str[i].charCodeAt() >= 65 && str[i].charCodeAt() <= 90,符合这个条件则为大写字母,转成小写字母str[i].toLowerCase();
3、判断时候是否 ' ' ,如果是,则转成 * ;
4、判断是否是小写字母,遍历字符串,str[i].charCodeAt() >= 97 && str[i].charCodeAt() <= 122,符合这条件为小写字母,则将str[i].charCodeAt() - 96作为序列数;
5、不符合2/3/4,则直接吞掉,也就是 '' ;
6、最后用原来的字符串的长度 - 处理之后得到的字符串长度,计算出被吞掉的字符总数(当然也可以在遍历的时候不符合2/3/4条件的字符就用一个flag++,得到最后被吞掉的字符总数)