查找字符串位置
查找字符串”hello,world!hello,china!hello,jiangsu!”中“hello”出现的所有位置。
package com.ntqn;
import java.util.ArrayList;
import java.util.List;
public class Demo6 {
public static void main(String[] args) {
//字符串
String str = "hello,world!hello,china!hello,jiangsu!";
//需要查找位置的字符串
String str1 = "hello";
//调用静态方法,用于list接收索引集合
List<Integer> list = getIndexsOfStr(str, str1);
//循环遍历出list中的索引值
for (Integer i : list) {
System.out.println(i);
}
}
public static List<Integer> getIndexsOfStr(String src, String c) {
//创建rs集合,用于存储c出现的位置索引
List<Integer> rs = new ArrayList<Integer>();
if (null != src) {
//初始化index
Integer index = 0;
//循环实现c的位置索引
while (index < src.length()) {
//返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
index = src.indexOf(c,index);
//判断是否存在,如果不存在会返回-1。
if (index < 0) {
//不存在,就结束循环
break;
} else {
//存在,就将索引添加到list集合中,指定的索引加上子串的长度继续循环
rs.add(index);
index = index + c.length();
}
}
}
//返回rs
return rs;
}
}