Java 中字符串包含282


在 Java 中,字符串包含指的是检查某个子字符串是否在原始字符串中,可以通过以下方法实现:

1. contains() 方法

contains() 方法直接判断子字符串是否存在于原始字符串中,如果存在返回 True,否则返回 False。该方法不区分大小写。public boolean contains(String substring)

例如:String original = "Hello, world!";
String substring = "world";
if ((substring)) {
("Substring found!");
}

2. indexOf() 方法

indexOf() 方法返回子字符串在原始字符串中的第一个出现位置,如果子字符串不存在,则返回 -1。该方法区分大小写。public int indexOf(String substring)
public int indexOf(String substring, int fromIndex)

第一个参数指定要查找的子字符串,第二个参数指定搜索的起始索引(可选)。

例如:String original = "Hello, world!";
String substring = "world";
int index = (substring);
if (index != -1) {
("Substring found at index: " + index);
}

3. lastIndexOf() 方法

lastIndexOf() 方法返回子字符串在原始字符串中的最后一个出现位置,如果子字符串不存在,则返回 -1。该方法区分大小写。public int lastIndexOf(String substring)
public int lastIndexOf(String substring, int fromIndex)

用法与 indexOf() 方法类似,第二个参数指定搜索的起始索引(可选)。

4. matches() 方法

matches() 方法用于匹配正则表达式,如果原始字符串与给定的正则表达式相匹配,则返回 True,否则返回 False。public boolean matches(String regex)

正则表达式是一种模式,用于描述字符串的特定格式。它可以用于检查子字符串是否存在或验证字符串的格式。

例如:String original = "Hello, world!";
String regex = ".*world.*";
if ((regex)) {
("Substring found!");
}

5. startsWith() 方法

startsWith() 方法检查原始字符串是否以给定的前缀开头,如果开头,则返回 True,否则返回 False。该方法区分大小写。public boolean startsWith(String prefix)

例如:String original = "Hello, world!";
String prefix = "Hello";
if ((prefix)) {
("Substring found at the beginning!");
}

6. endsWith() 方法

endsWith() 方法检查原始字符串是否以给定的后缀结尾,如果结尾,则返回 True,否则返回 False。该方法区分大小写。public boolean endsWith(String suffix)

用法与 startsWith() 方法类似。

区分大小写

默认情况下,contains()、indexOf() 和 lastIndexOf() 方法不区分大小写。但是,可以通过指定 ignoreCase 参数来改变这种情况。例如:String original = "HeLlO, woRlD!";
String substring = "world";
boolean result = (substring, true);
if (result) {
("Substring found!");
}

性能考虑

在实际应用中,选择合适的字符串包含方法对于性能至关重要。以下是一些性能考虑因素:* contains() 方法在所有方法中最慢,因为它需要遍历整个原始字符串。
* indexOf() 和 lastIndexOf() 方法对于较小的子字符串表现得很好,但对于较大的子字符串,它们可能会变慢。
* matches() 方法在使用预编译的模式时性能最佳,但在第一次使用模式时会出现明显的开销。
* startsWith() 和 endsWith() 方法通常是快速且高效的。

2024-10-19


上一篇:Java 字符与字节的探究

下一篇:Java 方法重写:深入解析