📜  在Java中搜索字符串中的字符和子字符串(1)

📅  最后修改于: 2023-12-03 15:23:24.471000             🧑  作者: Mango

在Java中搜索字符串中的字符和子字符串

在Java中,可以使用String类的一些方法来搜索字符串中的字符和子字符串。下面介绍常见的方法。

搜索字符
indexOf(char ch)

可以使用indexOf(char ch)方法来查找字符串中第一次出现指定字符的位置。

String str = "Hello World";
int index = str.indexOf('o');
System.out.println(index); // 输出 4
lastIndexOf(char ch)

可以使用lastIndexOf(char ch)方法来查找字符串中最后一次出现指定字符的位置。

String str = "Hello World";
int index = str.lastIndexOf('o');
System.out.println(index); // 输出 7
搜索子字符串
indexOf(String str)

可以使用indexOf(String str)方法来查找字符串中第一次出现指定子字符串的位置。

String str = "Hello World";
int index = str.indexOf("lo");
System.out.println(index); // 输出 3
lastIndexOf(String str)

可以使用lastIndexOf(String str)方法来查找字符串中最后一次出现指定子字符串的位置。

String str = "Hello World";
int index = str.lastIndexOf("o");
System.out.println(index); // 输出 7
contains(CharSequence s)

可以使用contains(CharSequence s)方法来检查字符串是否包含指定字符序列。

String str = "Hello World";
boolean contains = str.contains("orl");
System.out.println(contains); // 输出 true
忽略大小写搜索

以上方法都可以使用相应的忽略大小写的方法进行搜索。

例如,indexOf(String str)可以使用indexOf(String str, int fromIndex)来进行忽略大小写的搜索。

String str = "Hello World";
int index = str.indexOf("O", 0);
System.out.println(index); // 输出 4
正则表达式搜索

以上方法都可以使用正则表达式进行搜索。

例如,可以使用matches(String regex)方法来检查字符串是否匹配指定的正则表达式。

String str = "123456";
boolean matches = str.matches("\\d+");
System.out.println(matches); // 输出 true

也可以使用PatternMatcher类来进行正则表达式的搜索。

String str = "Hello World";
Pattern pattern = Pattern.compile("l.{1}");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
    System.out.println(matcher.group()); // 输出 lo 和 ld
}

以上就是在Java中搜索字符串中的字符和子字符串的方法介绍,希望对您有所帮助。