关于找一个文本最后出现的某个字符串的索引问题,就是在一段文本中,可能包含多个相同的字符串,如何能够找到最后出现的字符串的位置,java.lang.String中的lastIndexOf方法获取的从后面数的位置,我想要的是从前面数的位置

解决方案 »

  1.   

    晕  这个lastIndexOf返回的就是从前面数的位置   举个例子吧:abcdee   你用lastIndexOf返回e对吧  那么它会返回5的   而不是0
      

  2.   

    不是的,请看这个例子:
    public class a {
            public static void main(String[] args) {
                    // TODO Auto-generated method stub
                    String str="abfsopjflkeopvlepk";
                    int n=str.lastIndexOf("o");
                    System.out.println(n);
                    int n2=str.indexOf("o");
                    System.out.println(n2);
                    String str2="abfsopjflkeozhongzhg这个国家pvlepk";
                    int n3=str2.lastIndexOf("这个");
                    System.out.println(n3);
                    int n4=str2.indexOf("这个");
                    System.out.println(n4);
            }
    }结果为:
    11
    4
    20
    20
    对英文是从后边数的,而中文是从前边数的,为什么会这样?
      

  3.   

    java.lang.String中的lastIndexOf(String s)返回的不是从前面数的?
      

  4.   

    很無語,有什麼問題?函數名都寫了index,何為index?
    你"中文"的在這個字符串中的index值就是20,你只有一個"中文",你無論lastIndexOf/indexOf也是20