import java.util.regex.*;public class RegexTest {
  public RegexTest() {
  }
  public static void main(String[] args) {
    String res = "C='TW', O='HiTRUST Banking', OU='HiTRUST', OU='0040000-BOT', OU='FXML', CN='9695839500'";
    String reg = "C='(.*)', O='(.*)', OU='(.*)', OU='(.*)', OU='(.*)', CN='(.*)'";
    Pattern p = Pattern.compile(reg);
    Matcher m = p.matcher(res);
    String strs[] = new String[m.groupCount()];
    if (m.matches()) {
      for (int i = 1; i <= m.groupCount(); i++) {
        System.out.println(m.group(i));
        strs[i - 1] = m.group(i);
      }
    }
  }
}

解决方案 »

  1.   

    1.4以下用java.util.StringTokenizer1.4以上用正则表达
      

  2.   

    jokerJava,你好
    偶学JAVA不是很深,有些不是很懂,再向你表达一下:
    我要从这样一个字串拆分后获取四个值,c=,o=,cn=这三个是固定为一个,都可为String型,ou=并不固定,有可能一个,可能两三个甚至还要多,所以定为vector,
      

  3.   

    将jokerJava的修改一下就行了。
    import java.util.regex.*;public class RegexTest {
      public RegexTest() {
      }
      public static void main(String[] args) {
        String res = "C='TW', O='HiTRUST Banking', OU='HiTRUST', OU='0040000-BOT', OU='FXML', CN='9695839500'";
        int length = res.length() - res.replaceAll("OU='").length();
        String reg = "C='(.*)', O='(.*)'";
        for (int i=0; i<length; i++)
           reg += ", OU='(.*)'"; 
        reg += ", CN='(.*)'";
        Pattern p = Pattern.compile(reg);
        Matcher m = p.matcher(res);
        String strs[] = new String[m.groupCount()];
        if (m.matches()) {
          for (int i = 1; i <= m.groupCount(); i++) {
            System.out.println(m.group(i));
            strs[i - 1] = m.group(i);
          }
        }
      }
    }
      

  4.   

    import java.util.*;
    import java.util.regex.*;public class Token {
      public Token() {
      }
      public static void main(String[] args) {
        Vector vc = new Vector();
        String res = "C='TW', O='HiTRUST Banking', OU='HiTRUST', OU='0040000-BOT', OU='FXML', CN='9695839500'";
        String reg = "([^=]+)='([^=]+)'";
        Pattern p = Pattern.compile(reg);
        Matcher m = p.matcher(res);
        while (m.find()) {
          //System.out.println(m.group(1));
          System.out.println(m.group(2));
          vc.add(m.group(2));
        }
      }
    }
    呵      这样也可