正则表达式模式避免:和,在字符串中

时间:2012-04-06 06:00:01

标签: java regex arraylist

我有一个来自数据库的字符串。 字符串是这样的: -

ABC:def,ghi:jkl,hfh:fhgh,ahf:jasg

简而言之String:String,它会重复大值。

我需要解析此字符串以仅获取没有任何:,的单词并将每个单词存储在ArrayList中

我可以使用分割功能(两次)来做到这一点,但我发现使用正则表达式我可以做一次去获得arraylist ..

String strLine="category:hello,good:bye,wel:come";
        Pattern titlePattern = Pattern.compile("[a-z]");
        Matcher titleMatcher = titlePattern.matcher(strLine);
        int i=0;
        while(titleMatcher.find())
        {
            i=titleMatcher.start();
            System.out.println(strLine.charAt(i));  
        }

然而它没有给我正确的结果..它最终给了我找到的匹配索引,然后我需要追加它,这不是那么合乎逻辑和有效,。

有什么方法..

3 个答案:

答案 0 :(得分:5)

String strLine="category:hello,good:bye,wel:come";
String a[] = strLine.split("[,:]");
for(String s :a)
    System.out.println(s);

答案 1 :(得分:1)

使用java StringTokenizer 样品:

StringTokenizer st = new StringTokenizer(in, ":,"); 
while(st.hasMoreTokens()) 
  System.out.println(st.nextToken()); 

答案 2 :(得分:0)

即使你可以使用正则表达式一次解析整个字符串,我认为它比用多个步骤拆分它更不易读。