Java函数——如何在字符串中找到一个子字符串?
在Java中,要查找给定的字符串中是否包含一个或多个指定的子字符串是很常见的操作。本文将讨论如何使用Java内置的函数来进行这个操作。
Java中用于查找子字符串的函数有三个:indexOf(),lastIndexOf()和contains()。这三个函数都接收一个参数:要查找的子字符串。它们返回一个整数值,该值指示子字符串在源字符串中的位置或是否存在。
1. indexOf()
indexOf()函数是Java中用于查找子字符串的最基本的函数之一。其中,字符串s.indexOf(sub)在字符串s中查找子字符串sub。它返回sub在字符串s中的第一次出现的索引。如果字符串s不包含子字符串sub,则indexOf()返回-1。
下面是一个例子:
String s = "Hello, world!";
int index = s.indexOf("world");
if (index != -1) {
System.out.println("found at index " + index);
} else {
System.out.println("not found");
}
在上面的例子中,我们搜索了字符串“Hello,world!”中的子字符串“world”,如果找到则打印其索引位置。
2. lastIndexOf()
lastIndexOf()函数与indexOf()函数类似。不同之处在于,它从字符串的末尾开始查找子字符串。它返回子字符串在字符串中出现的最后一次出现的索引。如果找不到该子字符串,则返回-1。
下面是一个例子:
String s = "Hello, world!";
int index = s.lastIndexOf("o");
if (index != -1) {
System.out.println("found at index " + index);
} else {
System.out.println("not found");
}
在上面的例子中,我们搜索字符串“Hello,world!”中的字符“o”,该字符在第一个“o”之后出现。因此,lastIndexOf()返回该位置的索引。
3. contains()
contains()函数是最简单的函数之一,并且它只返回一个boolean值。如果源字符串包含指定的子字符串,则返回true;否则,返回false。下面是一个例子:
String s = "Hello, world!";
if (s.contains("world")) {
System.out.println("contains");
} else {
System.out.println("does not contain");
}
在上面的例子中,我们测试了字符串“Hello,world!”是否包含子字符串“world”。
综上所述,以上三个函数是Java用于在字符串中查找子字符串的最基本的函数。在编写Java程序时,使用这些函数可以非常方便地查找指定的子字符串。
