比如:我们是程序员,我们很喜欢安静的做程序,这是我们的特点.
我要截取“很”到“点”之间的字符串呢?

解决方案 »

  1.   

    String str = "我们是程序员,我们很喜欢安静的做程序,这是我们的特点";
    String subStr = str.substring(str.indexOf("很")+1, str.indexOf("点"));
      

  2.   

    如果有很多个“很”和“点”呢? 比如:我们是程序员,我们很喜欢安静的做程序,这是我们的特点。我们是程序员,我们很Xx,这是我们的特点。我们是程序员,我们很喜欢TTCC,这是我们的特点.
    这个又是怎么解决呢?
      

  3.   

    String str = "我们是程序员,我们很喜欢安静的做程序,这是我们的特点";
    String subStr = str.substring(str.indexOf("很")+1, str.indexOf("点"));这个做法有漏洞,最好是确认点在很的后面,所以更好的做法是
    String str = "我们是程序员,我们很喜欢安静的做程序,这是我们的特点";
    int index = str.indexOf("很");
    String subStr = str.substring(index+1, str.indexOf("点",index+1));
      

  4.   

    String str = "我们是程序员,我们很喜欢安静的做程序,这是我们的特点,我们很喜欢dd安静的做程序,这是我们的特点";
    List subStrList = new ArrayList();
    String subStr = null;
    int index = 0;
    int index2 = 0;
    while (str.length()>0){
    index = str.indexOf("很");
    index2 = str.indexOf("点", index+1);
    subStr = str.substring(index+1, index2);
    subStrList.add(subStr);
    if (index2 == str.length()-1){
    str = "";
    }else{
    str = str.substring(index2+1);
    }
    }
                   for (int i = 0; i < subStrList.size(); i++){
                      System.out.println(subStrList(i));
                   }这样应该可以满足你的要求了
      

  5.   

    等等,最后一个写错了
    System.out.println(subStrList(i));纠正为System.out.println(subStrList.get(i));
      

  6.   

    List subStrList = new ArrayList(); 
    String subStr = null; 
    int index = 0; 
    int index2 = 0; 
    while (str.length()>0){ 
      index = str.indexOf("很"); 
      if (index <0){break;}//改进下,如果没有找到"很"这个字符,则没必要循环了
      index2 = str.indexOf("点", index+1); 
      subStr = str.substring(index+1, index2); 
      subStrList.add(subStr); 
      if (index2 == str.length()-1){ 
          str = ""; 
       }else{ 
          str = str.substring(index2+1); 
       } 

    for (int i = 0; i < subStrList.size(); i++){ 
        System.out.println(subStrList(i)); 
     } 
      

  7.   

    用正则表达式比较简单
    Pattern p = Pattern.compile("[很][\\w]+[点]");
    Matcher m = p.matcher(line);
    while(m.find()) {
    System.out.println(m.group());
    }