欢迎访问宙启技术站
智能推送

Java String函数:substring如何使用?

发布时间:2023-06-09 05:59:25

Java String 的 substring() 方法是截取字符串的方法。这个方法返回一个新字符串,它是原字符串的一部分。在这篇文章中,我们将深入探讨 substring() 方法以及如何在 Java 中使用它。

substring() 方法的语法

substring() 方法是 String 类的一个方法。它可用于提取一个字符串中的一部分,字符串的位置由整数参数指定。substring() 方法有两种形式:一种指定起始索引,另一种指定起始和结束索引。

- substring(int beginIndex):基于开始索引返回一个新字符串,从 beginIndex 开始截取到字符串末尾的部分。

- substring(int beginIndex, int endIndex):基于开始索引和结束索引返回一个新字符串,包括 beginIndex 位置但不包括 endIndex 位置。

在下面的例子中,我们将演示如何使用这些 substring() 方法:

public class TestSubstring {
    public static void main(String[] args) {
        String str = "Hello, World!";
        System.out.println("Original String: " + str);

        // 使用 beginIndex 截取子字符串
        String subStr1 = str.substring(7);
        System.out.println("Substring with begin index: " + subStr1);

        // 使用 beginIndex 和 endIndex 截取子字符串
        String subStr2 = str.substring(0, 5);
        System.out.println("Substring with begin and end index: " + subStr2);
    }
}

输出结果:

Original String: Hello, World!
Substring with begin index: World!
Substring with begin and end index: Hello

在这个例子中,我们首先创建了一个字符串 "Hello, World!",然后使用两种不同的方法截取子字符串。在第一个示例中,我们使用 beginIndex(7)截取字符串的一部分,从 "World!" 的位置开始直到字符串末尾。在第二个示例中,我们使用 beginIndex(0)和 endIndex(5)来截取字符串的一部分,从 "H" 的位置开始到 "o" 的位置(0到5)。

当然,在实际编程中,你不仅仅是为了截取一个字符串而使用 substring() 方法。下面是一些在实际编程中应用 substring() 方法的示例。

示例1:获取文件的扩展名

假设你有一个文件名,想要获取文件名的扩展名,可以使用 substring() 方法截取文件名的一部分。

public class TestExtensionName {
    public static void main(String[] args) {
        String fileName = "example.docx";
        int lastDotIndex = fileName.lastIndexOf(".");
        String extensionName = fileName.substring(lastDotIndex + 1);
        System.out.println("Extension Name: " + extensionName);
    }
}

在这个例子中,我们将文件名字符串设置为 "example.docx"。然后使用 lastIndexOf() 方法找到 "." 在字符串中的位置,这就是文件扩展名的开始位置。在这里,它是第六个字符。我们接下来使用 substring() 方法截取从该位置开始到字符串的末尾的一部分,这就是文件扩展名。

示例2:去掉字符串中的空格

另一个常见的应用场景是去掉字符串中的空格。这可以通过使用 substring() 方法来实现,但是需要注意的是,如果您希望完全删除字符串中的空格,您必须使用 trim() 方法先将两端的空格去掉。这很容易忘记,因此请确保您了解这个问题。

public class TestTrimSpaces {
    public static void main(String[] args) {
        String strWithSpaces = "   Example String  With Lots Of Spaces    ";
        String trimmedStr = strWithSpaces.trim().replaceAll("\\s+", "");
        System.out.println("Trimmed String with no spaces: " + trimmedStr);
    }
}

在这个例子中,我们首先使用 trim() 方法去掉字符串两端的空格。接着使用 replaceAll() 方法和正则表达式 "\\s+" 将字符串中的所有空格替换为空。最后,我们打印出截取字符串去掉空格后的结果。

示例3:处理字符串中的特定字符

在处理一些字符串时,特定的字符需要被删除或改变。使用 substring() 方法处理这个问题是非常简单的。

public class TestReplaceCharacters {
    public static void main(String[] args) {
        String originalStr = "123-456-789";
        String replacedStr = originalStr.replace("-", "");
        System.out.println("Replaced String: " + replacedStr);
    }
}

在这个例子中,我们首先创建一个字符串,然后使用 replace() 方法替换字符串中的所有横线。最终打印出替换后的字符串。

总结

在本文中,我们介绍了 substring() 方法,这是一种截取字符串的方法。我们还通过几个实例,向您展示了如何在 Java 中使用 substring() 方法来处理常见的字符串操作。无论您是在做基本的文本操作还是处理大量数据,学会 substring() 方法都是必要的。