7-43 sdut-循环-6-统计字符

7-43 sdut-循环-6-统计字符

首先给出所输入字符的个数N,然后给出N个字符,统计其中英文字母、空格、数字字符和其他字符的个数。
输入格式:

第一行为字符的个数N;
第二行为N个字符。

输出格式:

在四行内输出:
letters=英文字母个数
blanks=空格个数
digits=数字字符个数

输入样例:

10
AaZ & 15Az

输出样例:

letters=5
blanks=2
digits=2
others=1
import java.util.Scanner;
public class Main{
 public static void main(String[] args){
    
     Scanner cin=new Scanner(System.in);
     int n=cin.nextInt();
     cin.nextLine();
     String str=cin.nextLine();
     while(str.length()<n)
     {
         String str1=cin.nextLine();
         str=str+'\n'+str1;
     }
     int letters=0;
     int blanks=0;
     int digits=0,others=0;
     for(int i=0;i<n;i++)
     {
      int x=str.charAt(i);
         if(x >= 'a' && x <= 'z' || x >= 'A' && x <= 'Z')
         letters++;
         else if(x>='0'&&x<'9')
             digits++;
         else if(x==' ')
             blanks++;
         else
             others++;
     }
     System.out.println("letters="+letters);
     System.out.println("blanks="+blanks);
     System.out.println("digits="+digits);
     System.out.print("others="+others);
 }  
}
### Python 中删除字符串中的指定字符 在 Python 中,可以通过多种方式实现删除字符串中的指定字符。以下是基于已有引用内容以及专业知识整理的相关解决方案。 #### 方法一:使用列表推导式过滤不需要的字符 通过 `list` 和列表推导式可以轻松移除目标字符并重新组合成新的字符串: ```python def remove_chars(s, chars_to_remove): result = ''.join([char for char in s if char not in chars_to_remove]) return result s = "HelloWorld!" chars_to_remove = "lo" new_s = remove_chars(s, chars_to_remove) print(new_s) # 输出: HeWrd! ``` 此方法的核心在于利用列表推导式筛选掉不希望保留的字符[^1]。 --- #### 方法二:使用内置函数 `str.translate()` 和 `str.maketrans()` Python 提供了一个高效的方式——`translate()` 函数配合 `maketrans()` 使用来完成批量替换或删除操作: ```python import string s = "HelloWorld!" remove_set = set("lo") # 创建翻译表,其中要删除的字符映射为 None translation_table = str.maketrans('', '', ''.join(remove_set)) result = s.translate(translation_table) print(result) # 输出: HeWrd! ``` 这种方法适用于需要处理大量数据的情况,性能优于简单的循环遍历[^3]。 --- #### 方法三:正则表达式替代法 如果涉及复杂的模式匹配或者动态调整需求,则可借助模块 `re` 实现更灵活的功能: ```python import re s = "HelloWorld!" pattern = '[lo]' # 定义待删字符集合 result = re.sub(pattern, '', s) print(result) # 输出: HeWrd! ``` 上述代码片段展示了如何定义一个正则表达式的模式去匹配所有需被清除的目标字符,并将其替换成空白[^4]。 --- ### 总结 以上三种方案各有优劣,在实际开发过程中可根据具体场景选择最合适的工具和技术手段解决问题。对于简单任务推荐采用第一种直观易懂的办法;而对于追求效率的大规模运算建议尝试第二种技术路线;最后当面临复杂条件约束时考虑引入第三类高级特性支持下的解决策略。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hzhhn.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值