首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求教,如何用那个正则表达式解决

2012-04-26 
求教,怎么用那个正则表达式解决jerry,98|tom,99|jack,10|anne,100将只包含字母的单词放到String数组中,将

求教,怎么用那个正则表达式解决
jerry,98|tom,99|jack,10|anne,100
  将只包含字母的单词放到String数组中,将数字放到int数组中。

[解决办法]

Java code
import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;public class TestRE {    public static void main(String [] args){        String sSourceStr = "jerry,98|tom,99|jack,10|anne,100";        List<String> listStr = new ArrayList<String>();        List<Integer> listInt = new ArrayList<Integer>();        Pattern pStr = Pattern.compile("[a-zA-Z]+");        Pattern pInt = Pattern.compile("[0-9]+");        Matcher mStr = pStr.matcher(sSourceStr);        Matcher mInt = pInt.matcher(sSourceStr);        while(mStr.find()){            listStr.add(mStr.group());        }        while(mInt.find()){            listInt.add(Integer.valueOf(mInt.group()));        }                String [] str = new String[listStr.size()];        int [] iInt = new int[listInt.size()];        str =listStr.toArray(str);        for(int b=0;b<listInt.size();b++){            iInt[b] = listInt.get(b);            }                                                for(String s:str){            System.out.print(s+" ");        }        for(int i : iInt){            System.out.print(i+" ");        }    }} 

热点排行