Java 字符串截取尾部

引言

在Java编程中,字符串是一种非常常见的数据类型。在处理字符串时,经常会遇到需要截取字符串尾部的情况。本文将介绍在Java中如何截取字符串尾部,并提供相应的代码示例。

字符串截取尾部的方法

Java提供了多种方法来实现字符串截取尾部的操作。下面将介绍其中的三种常用方法:使用substring()方法、使用StringBuilder类的delete()方法和使用StringBuffer类的delete()方法。

使用substring()方法

substring()方法是Java中String类提供的方法之一。它可以根据指定的索引位置来截取字符串的子串。在截取尾部时,我们可以使用substring()方法的重载形式substring(int beginIndex)。这种形式的substring()方法将从指定的索引位置开始截取字符串的子串,直到字符串的末尾。

下面是使用substring()方法截取字符串尾部的示例代码:

String str = "Hello, world!";
String subStr = str.substring(7);
System.out.println(subStr);  // 输出结果为"world!"

使用StringBuilder类的delete()方法

StringBuilder类是Java中用于操作字符串的可变类。它提供了多种方法来修改字符串内容。其中,delete()方法可以用于删除字符串中的一部分内容。通过将指定的索引位置作为参数传递给delete()方法,可以删除从该索引位置开始到字符串末尾的内容,实现截取尾部的效果。

下面是使用StringBuilder类的delete()方法截取字符串尾部的示例代码:

StringBuilder sb = new StringBuilder("Hello, world!");
sb.delete(0, 7);
String subStr = sb.toString();
System.out.println(subStr);  // 输出结果为"world!"

使用StringBuffer类的delete()方法

StringBuffer类与StringBuilder类类似,也是一个可变的字符串类。它提供了与StringBuilder类相同的delete()方法,可以用于删除字符串中的一部分内容。同样地,通过将指定的索引位置作为参数传递给delete()方法,可以删除从该索引位置开始到字符串末尾的内容,实现截取尾部的效果。

下面是使用StringBuffer类的delete()方法截取字符串尾部的示例代码:

StringBuffer sb = new StringBuffer("Hello, world!");
sb.delete(0, 7);
String subStr = sb.toString();
System.out.println(subStr);  // 输出结果为"world!"

示例演示

下面通过一个示例来演示如何使用上述方法截取字符串尾部。

假设我们有一个字符串列表,其中包含了多个文件的文件名。现在我们需要将这些文件名的扩展名截取掉,只保留文件名部分。我们可以通过截取字符串尾部的方式来实现这个需求。

以下是使用substring()方法截取字符串尾部的示例代码:

import java.util.ArrayList;
import java.util.List;

public class FileNameTrimmer {
    public static void main(String[] args) {
        List<String> fileNames = new ArrayList<>();
        fileNames.add("file1.txt");
        fileNames.add("file2.doc");
        fileNames.add("file3.jpg");

        List<String> trimmedFileNames = new ArrayList<>();
        for (String fileName : fileNames) {
            String trimmedFileName = fileName.substring(0, fileName.lastIndexOf("."));
            trimmedFileNames.add(trimmedFileName);
        }

        System.out.println(trimmedFileNames);  // 输出结果为["file1", "file2", "file3"]
    }
}

以上代码首先创建了一个字符串列表fileNames,其中包含了三个文件名。然后,通过遍历列表中的每个文件名,使用substring()方法截取文件名部分,并将截取结果添加到另一个列表trimmedFileNames中。最后,输出trimmedFileNames列表的内容,即截取后的文件名部分。

状态图

下面是一个状态图,展示了截取字符串尾部的三种方法的状态转换过程。

stateDiagram
    [*] --> substring
    substring --> [*]
    [*] --> delete
    delete --> [*]
    [*] --> delete
    delete --> [*]

类图

下面是一个类图,展示了字符串截