如题,用java想找出最后一个英文出现的位置

解决方案 »

  1.   

    String s = "asdsda1";
    char a = s.charAt(s.length()-1);
    System.out.println('A'<a&&a<'z');
      

  2.   


    char[] array = str.toCharArray();
            for (int i = array.length; i > -1; i--) {
                if (array[i] > 'a' && array[i] < 'z' || array[i] > 'A' && array[i] < 'Z') {
                    System.out.println(i);
                    break;
                }
            }
      

  3.   

    哦 最后一个 英文的位置啊 那就是遍历了 从后向前遍历
    String s = "asdsda1";
    int count =0;
    for(int i=s.length()-1;i>=0;i--){
    if('A'<s.charAt(i)&&s.charAt(i)<'z'){
    System.out.println(i);
    count++;
    break;
    }
    }
    if(count==0){
    System.out.println("没有字母存在!");
    }
      

  4.   

    int step = 0 ; //记录字符的位置
    for(int i = 0;i<s.length();i++){ //遍历整个字符串
    char c = s.charAt(i) ; //字符串中每个字符
    if((c>='a'&&c<='z')||(c>='A'&&c<'Z')){ //英文字符
    step = i ; //记录英文字符的位置
    System.out.print(i + "\t") ; //输出歌英文字符的位置
    }
    }
    System.out.println("\n" + step) ; //输出最后一个英文字符的位置
    当然从后向前的话,第一个出现的英文字符,就是最后一个英文字符。
      

  5.   

    字符串不是有个方法lastIndexOf(str)么
      

  6.   

    为什么要用break?
    已经找到了,没必要再继续判断了。
      

  7.   

    lastIndexOf(int ch) 
              返回指定字符在此字符串中最后一次出现处的索引。
      

  8.   

    "123ac4".replaceAll("[A-Za-z]","一个不会在你文字里出现的特殊字符").lastIndexOf("前面的特殊字符")
      

  9.   

    1. 字符串逆序(StringBuilder实现)
    2. 正则获取第一个字母(Pattern.compile("(\\d)"),然后m.group(1))
    3. 原来的字符串lastIndexOf(m.group(1))