当前位置: 代码迷 >> J2SE >> 求教,如何用那个正则表达式解决
  详细解决方案

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

热度:75   发布时间:2016-04-24 01:14:09.0
求教,怎么用那个正则表达式解决
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+" ");        }    }}