一个字符串中查找另一个字符出现的全部索引位置(JAVA)

开发中遇到要将某些字符文本使用SpannableStringBuilder替换成一个表情,这时候需要遍历这个字符串中特定字符出现的全部索引位置,代码如下:

    private String key = "*";
    private String str = " * **M*1*R";

    private void searchAllIndex() {
        int a = str.indexOf(key);//*第一个出现的索引位置
        while (a != -1) {
            System.out.print(a + "\t");
            a = str.indexOf(key, a + 1);//*从这个索引往后开始第一个出现的位置
        }
    }

Java中字符串中子串的查找共有四种方法,如下:
1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。

你可能感兴趣的:(java,string,索引,遍历,indexof)