假设有这样一个字符串,在符号-前面和:后面有不定数量的字符。
String s = "fd#sa%sf,dsa32...-wing.select:p@oex..."
只截取符号-和:之间的字符串该用什么方法?

解决方案 »

  1.   


     String s = "fd#sa%sf,dsa32...-wing.select:p@oex...";
            String subString = s.substring(s.indexOf("-")+1, s.indexOf(":"));
            System.out.println(subString);貌似可以。
      

  2.   


    String[] temp = s.split("- | :");
    String last = temp[1];
      

  3.   

    为了不跟大企鹅相同,我决定用replaceAll:
    public class GetString {
    public static void main(String args[]){
    String s = "fd#sa%sf,dsa32...-wing.select:p@oex..."; 
    String regex = ".*-";
    String regex1 = ":.*";

    System.out.println(s.replaceAll(regex, "").replaceAll(regex1, ""));
    }
    }
    wing.select
      

  4.   

    大企鹅,要是
    String s = "fd#sa%--sf,ds--a32...-wing.select:p@oe:x-..." 
    这样你那个就不行了吧~
    这题目真要搞起来还是很麻烦~
      

  5.   

    肯定有局限性,分析两个的index关系也能解决。
    如果有多个,用正则也解决不了吧。