substring()方法
在String类中有两个substring()方法,第一种如下:
String.substring(int start)
其中,start为要开始截取的位置的索引,方法将返回一个字符串,内容为原字符串从start位置开始到原字符串结束中间的数据。
例如:
String str = "hello world!";
System.out.println(str.substring(1));
System.out.println(str.substring(3));
System.out.println(str.substring(6));
执行以上代码,结果如下:
ello world!
lo world!
world!
如果start大于字符串的长度,将会抛出越界异常。
第二种substring()方法:
String.substring(int start, int end)
其中,start为开始位置索引,end为结束为止索引,方法将返回一个字符串,内容为原字符串从start位置开始到end位置结束中间的数据。
例如:
String str = "hello world!";
System.out.println(str.substring(1, 4));
System.out.println(str.substring(3, 5));
System.out.println(str.substring(0, 4));
执行以上代码,结果如下:
ell
lo
hell
indexOf()方法
indexOf()方法用于在String类的对象中查找子字符串,方法返回一个整数值,为子字符串的开始位置,若存在多个子字符串,返回数值最小的整数值;如果没有找到子字符串,返回-1。
String str = "abcdefghijklmnabc";
System.out.println(str1.indexOf("c")); //结果为2,为字符"c"第一次出现的位置
System.out.println(str1.indexOf("x")); //结果为-1,没有找到字符"x"
输入示例:
发送多个回合范德萨负数大回合
回合
输出示例:
4
12
import java.util.Scanner;
public class NameSearch {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String data = scanner.next();
String name = scanner.next();
int n = 0;
while (data.indexOf(name) != -1) {
System.out.println(data.indexOf(name) + n);
n += data.indexOf(name) + name.length();
data = data.substring(data.indexOf(name) + name.length());
}
}
}