删除Java字符串中的最后一个字符

培训教学 潘老师 8个月前 (09-14) 181 ℃ (0) 扫码查看

1.使用String.substring()

这是最直接的方法。substring()方法返回开始和结束索引之间的子字符串。

请注意,此方法不会检查空字符串。它也不会检查字符串的长度,因此如果我们传递一个空字符串,可能会引发IndexOutOfBoundsException(索引越界异常)。最好编写我们自己的方法来处理这两种情况。请随意自定义该方法并处理更多情况,比如非可打印字符。

public static String removeLastChar(String s) {
  return (s == null || s.length() == 0)
      ? null
      : (s.substring(0, s.length() - 1));
}

现在我们可以将此方法用于任何类型的String。

newStr = removeLastChar(null);        //returns null
newStr = removeLastChar("");            //returns null
newStr = removeLastChar("a");            //returns "" empty string
newStr = removeLastChar("abcd");           //returns "abc"

2. 使用StringUtils.chop()

StringUtils类是Apache Commons Lang库的一部分,因此如果尚未添加,请添加它。

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

StringUtils.chop ()返回一个新字符串,其最后一个字符已被删除。这种技术是不安全的,并且也可以处理空字符串。

另请注意,如果字符串以 结尾\r\n,则会删除它们。

newStr = StringUtils.chop(null);        //returns null
newStr = StringUtils.chop("");            //returns "" empty string
newStr = StringUtils.chop("a");            //returns "" empty string
newStr = StringUtils.chop("abcd");    //returns "abc"

3. 如果 Char 值匹配则删除最后一个字符

在某些情况下,我们只想在最后一个字符匹配或不匹配任何特定字符时删除它。我们可以使用 Guava 的CharMatcher类来实现它。

如果还没有将Guava包含到项目中。

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>31.1-jre</version>
</dependency>

如果字符串的最后一个字符与给定条件匹配,请按如下方式使用CharMatcher类来删除它。

String string = "abcdE";
String newStr = CharMatcher.is('E').trimTrailingFrom(s);

我们也可以使用CharMatcher来删除破坏的空格。

String newStr = CharMatcher.breakingWhitespace().trimTrailingFrom(s);

4.结论

在这个简短的 Java 教程中,我们学习了一些从字符串中删除最后一个字符的技术,可以使用索引,也可以仅使用匹配条件。我们看到了这些方法如何处理null和空值。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/teach/9061.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】