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

Java中的substring()函数详细解析及使用方法

发布时间:2023-05-23 21:29:59

概述

Java中的substring()函数是用于截取字符串的函数,它可以从一个字符串中选择一个子串,返回一个新字符串。该函数可以接受一个或两个参数, 个参数是子串开始的位置(从0开始计数),第二个参数(可选)是子串的结束位置(不包括该位置的字符)。如果只有一个参数,则子串将从该位置一直到字符串的末尾。

该函数在Java中的应用非常广泛,常见的场景包括从文件路径中提取文件名、截取字符串中的日期或时间、从URL中提取域名等等。

使用方法

下面是substring()函数的语法:

public String substring(int startIndex)
public String substring(int startIndex, int endIndex)

其中,startIndex指示要开始提取的字符的位置,endIndex指示要停止提取的字符的位置。如果没有指定endIndex,则表示提取到字符串的结尾。

以下是一些示例:

1. 截取字符串的一部分:

假如有一个字符串"Hello World!",我们想要提取其中的"World!",可以使用以下代码:

String str = "Hello World!";
String newStr = str.substring(6);     // 从第7个字符(W)开始截取到结尾
System.out.println(newStr);     // 输出:World!

2. 获取文件名:

假如我们有一个文件路径"/home/user/Documents/sample.txt",我们想要提取其中的文件名"sample.txt",可以使用以下代码:

String path = "/home/user/Documents/sample.txt";
int index = path.lastIndexOf("/") + 1;     // 找到最后一个"/"的位置并加上1
String fileName = path.substring(index);     // 从上面找到的位置开始截取到结尾
System.out.println(fileName);     // 输出:sample.txt

3. 提取URL中的域名:

假如我们有一个URL "https://www.google.com/search?q=java",我们想要提取其中的域名"www.google.com",可以使用以下代码:

String url = "https://www.google.com/search?q=java";
int start = url.indexOf("://") + 3;     // 找到"://"的位置并加上3,排除协议名
int end = url.indexOf("/", start);     // 从上面找到的位置开始找到      个"/"的位置
String domain = url.substring(start, end);     // 从上面找到的位置开始截取到      个"/"的位置
System.out.println(domain);     // 输出:www.google.com

需要注意的是,如果指定的startIndex和endIndex超出了字符串的实际长度,substring()函数不会抛出异常,而是会自动将结束位置截断为字符串的结尾。此外,startIndex必须大于或等于0,endIndex必须大于或等于startIndex,否则函数会抛出异常。