常见操作String的方法(字符查找,索引查找)
在给定的字符串中查找字符或字符串是比较常见的操作。字符串查找分为两种形式:一种是在字符串中获取匹配字符(串)的索引值,另一种是在字符串中获取指定索引位置的字符。
根据字符查找indexOf(),lastIndexOf()
String类的indexOf()方法和lastIndexOf()方法用于在字符串中获取匹配字符(串)的索引值。
1.indexOf
indexOf()方法用于返回字符(串)在指定字符串中首次出现的索引位置,如果能找到,则返回索引值,否则返回-1.该方法主要有两种重载形式:
str.indexOf(value)
str.indexOf(value,int fromIndex)
其中,str 表示指定字符串;value 表示待查找的字符(串);fromIndex 表示查找时的起始索引,如果不指定 fromIndex,则默认从指定字符串中的开始位置(即 fromIndex 默认为 0)开始查找。
例如,下列代码在字符串“Hello Java”中查找字母 v 的索引位置。
String s = "Hello Java";
int size = s.indexOf('v'); // size的结果为8
2.lastIndexOf()
lastIndexOf()方法用于返回字符(串)在指定字符串中最后一次出现的索引位置,如果能找到则返回索引值,否则返回-1。该方法也有两种重载形式:
str.lastIndexOf(value)
str.lastlndexOf(value, int fromIndex)
注意:lastIndexOf() 方法的查找策略是从右往左查找,如果不指定起始索引,则默认从字符串的末尾开始查找。
示例:
public static void main(String[] args) {
String words="today,monday,Sunday";
System.out.println(words.lastIndexOf("day")); //16
System.out.println(words.lastIndexOf("day",5)); //2
}
根据索引查找charAt()
String类的charAt()方法可以在字符串内根据指定元素的索引值查找字符,该方法的语法形式如下:
str.charAt(int index)
提示:字符串本质上是字符数组,因此它也有索引,索引从零开始。
charAt() 方法的使用示例如下:
String words = "today,monday,sunday";
System.out.println(words.charAt(0)); // 结果:t
System.out.println(words.charAt(1)); // 结果:o
System.out.println(words.charAt(8)); // 结果:n