如下面这个链接,
http://www.google.cn/search?hl=zh-CN&newwindow=1&rlz=1B3GGGL_zh-CNCN314CN315&q=STRUTS+%E4%BE%8B%E5%AD%90&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=f&oq=
我想取到Google这个字符串, 注意第一个字符是大写。http://www.soso.com/q?pid=s.idx&w=f
我想取到Soso 这个字符串

解决方案 »

  1.   


                    String s = "http://www.soso.com/q?pid=s.idx&w=f";
    StringTokenizer t = new StringTokenizer (s, ".");
    t.nextToken();
    String str=t.nextToken();
    Character charAt = str.charAt(0);
    char upperCase = Character.toUpperCase(charAt);
    String finalStr = upperCase + str.substring(1, str.length());
    System.out.println(finalStr);结果是:Soso
    一时想出来的,效率不敢保证,不过对于你得要求应该没问题
      

  2.   

    import java.util.regex.*;public class MyRegex {
    public static void main(String[] args) {
    String s="http://www.google.cn/search?hl=zh-CN&newwindow=1&rlz=1B3GGGL_zh-CNCN314CN315&q=STRUTS+%E4%BE%8B%E5%AD%90&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=f&oq=";
    Matcher m=Pattern.compile("(?<=(\\.))\\w+?(?=\\.)").matcher(s);
    String s1 = null;
    if(m.find())
    s1=m.group();
    System.out.println(s1);
    //上面的正则表达式是先取出google放进s1中

    //下面的正则表达式是把开头一个字母大写
    StringBuffer sbuf=new StringBuffer();
    Matcher m1=Pattern.compile("\\w{1}").matcher(s1);
    if(m1.find())
    m1.appendReplacement(sbuf, m1.group().toUpperCase());
    m1.appendTail(sbuf);
    System.out.println(sbuf);//输出Google
    }
    }
      

  3.   

    public class GetSpecifyStr
    { public static String getSpecifyString(String url)
    {
    int firstPoint = url.indexOf('.');
    int secondPoint = url.indexOf('.', firstPoint + 1);
    String str = url.substring(firstPoint + 1, secondPoint);
    char ch = str.charAt(0);
    if (ch >= 'a' && ch <= 'z')
    ch = (char) (ch - 32);
    str = ch + str.substring(1);
    return str;
    } public static void main(String[] args)
    {
    String url1 = "http://www.google.cn/search?hl=zh-CN&newwindow=1&rlz=1B3GGGL_zh-CNCN314CN315&q=STRUTS+%E4%BE%8B%E5%AD%90&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=f&oq=";
    System.out.println(getSpecifyString(url1));
    String url2 = "http://www.soso.com/q?pid=s.idx&w=f ";
    System.out.println(getSpecifyString(url2));
    }
    }
      

  4.   

    String str = "http://www.soso.com/q?pid=s.idx&w=f";
    str = new URI(str).getHost().replaceFirst(".*\\.(.*)\\..*", "$1");
    System.out.println(str.substring(0,1).toUpperCase() + str.substring(1));
      

  5.   

    能不能解释一下, 下面这个正则表达式是什么意思
     Matcher m=Pattern.compile("(?<=(\\.))\\w+?(?=\\.)").matcher(s);
      

  6.   

    首先是(? <=(\\.))它匹配一个"."后面的内容
    其次\\w+?匹配中间的内容最后(?=\\.)匹配第二个点"."前面的内容