Java中字符串查找函数的实现及应用场景介绍
Java字符串查找函数的实现有多种,包括indexOf、lastIndexOf、startsWith、endsWith、contains等等。这些函数可以用于字符串的常用操作,包括子字符串查找、前缀/后缀匹配、字符串包含判定等。下面将对这些函数的实现和应用场景进行介绍。
一、indexOf和lastIndexOf
indexOf函数的功能是在一个字符串中查找指定的字符或字符串,并返回 次出现的位置。其函数原型为:
int indexOf(int ch) int indexOf(int ch, int fromIndex) int indexOf(String str) int indexOf(String str, int fromIndex)
其中, 个函数表示查找单个字符,第二个函数表示从指定位置开始查找单个字符,第三个函数表示查找字符串,第四个函数表示从指定位置开始查找字符串。如果查找不到,返回-1。
lastIndexOf函数与indexOf类似,不同之处是它从字符串的最后面开始向前查找。
这两个函数常用于查找子字符串,例如查找字符串中是否含有某个关键字等。
二、startsWith和endsWith
startsWith函数判断一个字符串是否以指定的前缀开头,endsWith函数则判断一个字符串是否以指定的后缀结尾。它们的函数原型为:
boolean startsWith(String prefix) boolean endsWith(String suffix)
如果符合条件返回true,否则返回false。这两个函数常用于对文件名、URL等进行判断。
三、contains
contains函数判断一个字符串是否包含指定的字符或字符串。其函数原型为:
boolean contains(CharSequence s)
如果包含返回true,否则返回false。这个函数常用于字符串匹配、检查用户输入等。
下面给出一个查找字符串中最长公共前缀的例子,代码如下:
public static String longestCommonPrefix(String[] strs) {
if (strs == null || strs.length == 0) return "";
String prefix = strs[0];
for (int i = 1; i < strs.length; i++)
while (strs[i].indexOf(prefix) != 0) {
prefix = prefix.substring(0, prefix.length() - 1);
if (prefix.isEmpty()) return "";
}
return prefix;
}
该函数利用了indexOf函数查找字符串中是否包含指定的前缀,并通过substring函数获得子字符串。如果不包含则缩短前缀长度,直到出现最长公共前缀。
总之,Java中的字符串查找函数有很多种,可以应用于不同的场景,例如找出URL中的域名部分、查找字符串中的特定子串、检查输入是否符合要求等。熟练掌握这些函数,可以提高字符串处理的效率和精度。
