codewars解题笔记---Where is THB?

面对THB失踪的紧急情况,本篇博客介绍了一项编程挑战,要求从给定的字符串中仅提取T、H和B字母,无论大小写。文章提供了两种解决方案,一种使用循环和条件判断,另一种采用正则表达式的简洁方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目

Help! THB has gone missing, and we need you to find him! You will be given a string, and must return a string including only the t's, h's, and b's from the original string. Include both uppercase and lowercase.

Remember, you should return an empty string if you are given an empty string or a null string. Good luck!

 

解析

救命!THB失踪了,我们需要你找到他!您将得到一个字符串,并且必须返回一个仅包含原始字符串的T、H和B的字符串。包括大写和小写。

请记住,如果给定空字符串或空字符串,则应返回空字符串。祝你好运!

 

本题主要考察字符串和字符间的转换

 

我的答案

 public static String testing(String initial) {
       if(("").equals (initial)||initial==null){
           return "";
       }
       List list = new ArrayList();
       for (int i = 0;i<initial.length();i++){
           char item = initial.charAt(i);
           if(item=='t'||item=='T'){
               list.add(item);
           }else if(item=='h'||item=='H'){
               list.add(item);
           }else if(item=='b'||item=='B'){
               list.add(item);
           }
       }
       String str2 = StringUtils.join(list.toArray(),"");//将将逗号去掉,
       return str2;
   }

最优答案

 static String testing(final String initial) {
        if (initial == null) {
            return "";
        }
        return initial.replaceAll("[^TBHtbh]", "");//通过正则表达式匹配
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值