rt,比如我想把字符串中数字字符分开,用它可以实现吗。String orgin = "abc123ddw45678d41s7852a";
StringTokenizer st = new StringTokenizer(orgin, "\\d+");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken() );
得到的结果不是abc ddw d s a这样的结果啊。我想问的就是这里的正则表达式不行吗,或者说不能这么用吗。

解决方案 »

  1.   

    我想挣点分,这个方法是用正则表达式做的,import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test {
    public static void main(String[] args) {
    // TODO 自动生成的方法存根
    Pattern p=Pattern.compile("([0-9]{3})([a-z]{1,3})");//添加括号就可以进行分组显示

    Matcher m=p.matcher("abc123ddw45678d41s7852a");

    while(m.find()){

    System.out.println(m.group(2));//对正则匹配出来的抽取数字,括号里的2代表分组

    }

    }}
      

  2.   

    我们已经习惯于通过触摸来操作智能手机和 Apple iPad。但当我们使用台式机或笔记本电脑时,我们却通常使用键盘或鼠标来操作。随着越来越多的超级本设备支持触摸功能,英特尔开展了一项研究计划,旨在更好地了解人们是否以及如何在较为传统的笔记本电脑外形设备上使用触摸功能。 
    www.zxd.cc
      

  3.   

    何必要那么麻烦呢.直接这样不就行了。public class Test {
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            Pattern p=Pattern.compile("\\d+");      
            Matcher m=p.matcher("abc123ddw45678d41s7852a");         
            while(m.find()){             
                System.out.println(m.group()));        
            }                 
        } 
    }另外,参看一下Java的API文档就知道,这里的构造函数是不支持正则表达式的,所以会当做普通的字符串进行处理。