Java: 有没有像 charAt() 这样的 int 方法?

Java: is there an int method like charAt()?

我不希望 "charAt(1);" 到 return 字符串中位置 1 的字符...我希望它报告 "matching = 1;"

的所有实例

为例
int matching = 1;
int notMatching = 0;
int HI = matching;
int IH = notMatching; 
int searchString = theString.charAt(notMatching);

  int count = 0;
  int index = 0;

      while (0 < theString.length())
      {
      int  = theString.charAt(matching);
        if (theString.charAt(notMatching) == searchString)    
        {
        count = count + 1;
        }
        index = index + 1;
      }

这不是一个很好的例子,但基本上是我想要的,或者这个程序应该做的是接受用户输入:

HIHIIH

并报告拼写为 IH 的 HI 实例...因此 return 例如;

System.out.println("HI was spelled as IH" + count + "times");

编辑:"Duplicate" 对我没有帮助

您可以使用 StringBuffer 的反向方法和 Pattern 和 Matcher,如下所示:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class SearchReverseString {
    public static void main(String []args) {
        String str = "HIHIIH";
        String strToSearch = "HI";
        String strToSearchReversed = new StringBuffer(strToSearch).reverse().toString();
        Pattern strPattern = Pattern.compile(Pattern.quote(strToSearchReversed));
        Matcher matcher = strPattern.matcher(str);
        int counter = 0;
        while(matcher.find()) {
            ++counter;
        }
        System.out.println(strToSearch+" was spelt as "+strToSearchReversed+" "+counter+" times");
    }
}

输出是:

HI was spelt as IH 2 times

注意,在我的程序中,str代表输入的String,strToSearch代表倒序查找的String。使用 Pattern.quote 可确保自动转义任何元字符。