每日一练58——Java删除头号和最后一个字符(8kyu)

题目

这很简单。您的目标是创建一个删除字符串的第一个和最后一个字符的函数。你有一个参数,原始字符串。您不必担心少于两个字符的字符串。

测试用例:

import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class RemoveCharsTest {

    @Test
    public void testRemoval() {
        assertEquals("loquen", RemoveChars.remove("eloquent"));
        assertEquals("ountr", RemoveChars.remove("country"));
        assertEquals("erso", RemoveChars.remove("person"));
        assertEquals("lac", RemoveChars.remove("place"));
    }
}

解题

My

public class RemoveChars {
    public static String remove(String str) {
        return str.substring(1,str.length()-1);
    }
}

Other

大部分人和我的答案一样。也有个别用正则表达式的。

public class RemoveChars {
    public static String remove(String str) {
       return str.replaceAll("^.|.$", "");      
    }
}

后记

有人提到了这个String要用final来修饰,如下

public static String remove(final String text) {
        return text.substring(1, text.length() - 1);
    }

理由是

Final is class and hence object of String, but not reference to this object.

example:
String foo = "foo";
String bar = "bar";
foo = bar;
System.out.println(foo); // bar

And it's a good practice to make method arguments final because it increase code readability.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,907评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,791评论 19 139
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,970评论 0 13
  • 贾岛 松下问童子, 言师采药去。 只在此山中, 云深不知处。 这首诗的意思是,贾岛在松树下问...
    张茉莉阅读 2,213评论 0 0
  • 大数据集群迁移这件事,不知道有多少同学做过。我说的不是把一个集群的数据备份到另一个集群上。我指的是整个数据平台与大...
    彩色蚂蚁阅读 2,136评论 0 5

友情链接更多精彩内容